Page 97 - AngularJS权威教程
P. 97

10.2  指令作用域   77


              内容请查看第34章。                                                                             1


              10.1.6  replace(布尔型)
                                                                                                     2
                  replace是一个可选参数,如果设置了这个参数,值必须为true,因为默认值为false。默
              认值意味着模板会被当作子元素插入到调用此指令的元素内部:                                                           3
                  <div some-directive></div>
                  .directive('someDirective', function() {
                      return {                                                                       4
                          template: '<div>some stuff here<div>'
                      };
                  });                                                                                5
                  调用指令之后的结果如下(这是默认replace为false时的情况):
                                                                                                     6
                  <div some-directive>
                      <div>some stuff here<div>
                  </div>
                                                                                                     7
                  如果replace被设置为了true:

                  .directive('someDirective', function() {                                           8
                      return {
                          replace: true // 修饰过
                          template: '<div>some stuff here<div>'
                      };                                                                             9
                  });

                  指令调用后的结果将是:                                                                        10
                  <div>some stuff here<div>
                                                                                                     11
              10.2  指令作用域

                                                                                                     12
                  为了完全理解指令定义对象中剩下的参数,需要先介绍指令作用域是如何工作的。
                  $rootScope这个特殊的对象会在DOM中声明ng-app时被创建:
                                                                                                     13
                  <div ng-app="myApp"
                      ng-init="someProperty = 'some data'"></div>
                  <div ng-init="siblingProperty = 'more data'">                                      14
                          Inside Div Two
                      <div ng-init="aThirdProperty"></div>
                  </div>
                                                                                                     15
                  上面的代码中,我们在应用的根作用域中设置了三个属性: someProperty、 siblingProperty
              和anotherSiblingProperty。
                                                                                                     16
                  从这里开始,DOM中每个指令调用时都可能会:
                   直接调用相同的作用域对象;                                                                    17
                   从当前作用域对象继承一个新的作用域对象;
                   创建一个同当前作用域相隔离的作用域对象。
                                                                                                     18
   92   93   94   95   96   97   98   99   100   101   102