zoukankan      html  css  js  c++  java
  • angular中scope之间的之间的继承关系

    <!DOCTYPE html>
    <html>
    <head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script src="./js/angular-1.5.8.js"></script>
    </head>
    <body ng-app="mainApp">

    <div>

    <div>{{abc}}</div>
    <div>{{def}}</div>

    </div>
    <div ng-controller="myController2">

    <div>{{abc}}</div>
    <div>{{def}}</div>

    </div>
    <script>

    angular.module("mainApp",[])
    .run(["$rootScope",function($rootScope){
    $rootScope.abc="asdf";
    $rootScope.def="def22";
    }])
    .controller("myController2",function($scope){
    $scope.abc="fafa";
    $scope.def="fda";
    });

    // $scope与模型:
    // 1.什么才开始要创建?
    // 2.它们之间的关系是什么?
    //a.只要存在一个ng-app,在内部自动创建一个$rootScope对象;
    //b.只要存在一个ng-controller,在内部就会自动的创建一个$scope;
    //ab存之间的关系就是:$rootScope$scope是具有继承关系的,$scope是继承于$rootScope里面的属性或是方法,当然先要在自己当前的里面去找,是不是存在想要的属性或是方法,同时$rootScope也有自己要的属性或是方法;$scope在自己中的属性或是方法找到了,就不会再去$rootScope里面去找;(当然如果没找到,需要到$rootScope里面去找自己要想的属性或是方法)


    //疑惑:那当ng-controller里面,还包含着ng-controller的时候,两者是什么关系呢?,那么两者产生的$scope是两个不一样的!那么第二个继承于第一个,如果第一个没有找到自己想要的方法或是属性的话,再要到$rootScope里面去找;这就是因为有继承关的原故;

    //验证代码如上所示:
    //思路是:先是通过$rootscope.属性A=“A”赋值,在后有在另一个controller中,通过是$scope.属性A进行赋值(其的赋值不与$rootscope的一样);看看俩者之间的赋值之后的情况,来判断是不是具有继承的关系;



    // .config 配置, 意思是在程序运行之前需要执行的事情( 路由 )
    // .run 运行, 在程序运行的时候进行执行;

    </script>
    </body>
    </html>
  • 相关阅读:
    C++函数参数传参的本质解析
    C#值类型和引用类型详解
    C#学习笔记(转换)
    C#学习笔记(泛型)
    # Java反射2——获取实体所有属性和方法,并对属性赋值
    Java反射1——扫描某个包下的所有类
    JSR教程2——Spring MVC数据校验与国际化
    JSR教程1——JSR 303
    Github如何撤销提交并清除痕迹
    论文第5章:Android绘图平台的实现
  • 原文地址:https://www.cnblogs.com/liubaichi/p/6044564.html
Copyright © 2011-2022 走看看