Javascript 模板函数是否生成新的子作用域?

Javascript 模板函数是否生成新的子作用域?,javascript,angularjs,angularjs-scope,angularjs-compile,Javascript,Angularjs,Angularjs Scope,Angularjs Compile,我试图用我自己编写的自定义指令替换ng repeat指令。以下是定义对象链接函数: //directive definition object... //... ///link: function (scope.......) function buildList(entries){ var i, timeline = [], tplCopy,

我试图用我自己编写的自定义指令替换
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);
        } 
//指令定义对象。。。
//...
///链接:功能(范围……)
函数构建列表(条目){
var i,
时间线=[],
tplCopy,
tplFunct;
对于(i=0;i
其中,
范围
是我的指令工作的地方,
条目
是节点元素的列表

除了一件事之外,这一切都很好:通过
tplFunct
绑定到单个条目的范围是我专门创建的新项目的子项目

所以我的问题是:
tplFunct(scope.$new())
是否将给定范围的子级绑定到范围本身的内部

编辑。 新作用域是否可能由
条目中的
ng controller=“foo”
指令生成?即使绑定的控制器内部没有
$scope
服务

下面包括两种不同的声明样式:

可以使用以下方法将方法和属性直接绑定到控制器上: ng controller=“将controller1设置为设置”

将$scope注入控制器:ng controller=“SettingsController2”


当您显式调用
scope.$new()
时,将创建一个新的子作用域,并且您的
tplFunct
将绑定到该作用域。如果希望将模板函数绑定到作用域本身,则应执行
tplFunct(作用域)
。这将导致所有元素绑定到单个范围对象。这就是你想要完成的吗?@Arkantos我想说的是,“scope.$new()”范围的子对象是绑定的,这就是问题所在。所以我们有父范围->子范围->孙子范围