Javascript 使用父作用域的片段编译动态指令

Javascript 使用父作用域的片段编译动态指令,javascript,angularjs,angularjs-directive,angularjs-scope,Javascript,Angularjs,Angularjs Directive,Angularjs Scope,我想插入一个动态指令,并通过一个从父级较大模型中获取的小范围传递它,即$scope.model[I],其中I是您刚才单击的列表项的索引 我想做的是: element.append($compile("<newdirective />")($scope.model[i])); element.append($compile(“”)($scope.model[i]); 我可以通过属性传递整个模型和索引,但似乎远远不够理想。我相信我已经找到了一种方法,通过手动创建一个新范围来实现这一点

我想插入一个动态指令,并通过一个从父级较大模型中获取的小范围传递它,即
$scope.model[I]
,其中
I
是您刚才单击的列表项的索引

我想做的是:

element.append($compile("<newdirective />")($scope.model[i]));
element.append($compile(“”)($scope.model[i]);

我可以通过属性传递整个模型和索引,但似乎远远不够理想。

我相信我已经找到了一种方法,通过手动创建一个新范围来实现这一点:

var newScope = $scope.$new();
newScope.model = $scope.model[i];
element.append($compile("<newdirective />")(newScope));
var newScope=$scope.$new();
newScope.model=$scope.model[i];
元素追加($compile(“”)(newScope));
我能解决这个问题的唯一其他方法是在父$scope中创建一个迷你作用域,让子视图使用自然继承

$scope.childScope = $scope.model[i];

//inside newdirective
<div ng-repeat="items in childScope"></div>
$scope.childScope=$scope.model[i];
//内部新指令

我很难理解这一点。该指令将超出范围的是什么?