模板函数是否生成新的子范围?

时间:2016-01-30 11:37:10

标签: javascript angularjs angularjs-scope angularjs-compile

我试图将ng-repeat指令替换为我编写的自定义指令。这是定义对象链接功能:

    //directive definition object...
    //...
    ///link: function (scope.......)
        function buildList(entries){  
            var i, 
                timeline = [],
                tplCopy,
                tplFunct;

            for (i = 0; i < entries.length; i++) {
                tplFunct = $compile(entries[i]);
                timeline.push(tplFunct(scope.$new()));
            }
            DOMelement.append(timeline);
        } 

其中scope是我的指令工作的那个,entries是NodeElement的列表。

除了一件事情之外,它的工作正常:通过tplFunct绑定到单个条目的范围是我专门创建的新条目的子级。

所以我的问题是:tplFunct (scope.$new())绑定范围本身的给定范围内的子节点吗?

修改。 新范围是由ng-controller="foo"内的entries指令生成的吗?即使绑定的控制器内部没有$scope服务?

ngcontroller docs

  

下面列出了两种不同的声明风格:

     

使用以下方法将方法和属性直接绑定到控制器上:      ng-controller =&#34; SettingsController1作为设置&#34;

     

将$ scope注入控制器:ng-controller =&#34; SettingsController2&#34;

0 个答案:

没有答案