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

时间:2013-09-13 16:36:28

标签: javascript angularjs angularjs-directive angularjs-scope

我想插入一个动态指令并将其传递给从父模型中获取的小范围,即$scope.model[i],其中i是您刚刚单击的列表项的索引。

我有点想做的是:

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

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

1 个答案:

答案 0 :(得分:1)

我相信通过手动创建新范围,我找到了一种方法:

var newScope = $scope.$new();
newScope.model = $scope.model[i];
element.append($compile("<newdirective />")(newScope));

我能解决这个问题的另一种方法是在父$ scope中创建一个小范围,让子视图使用自然继承。

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

//inside newdirective
<div ng-repeat="items in childScope"></div>