【发布时间】:2017-01-24 11:08:24
【问题描述】:
我发现 Angularjs 有一些奇怪的行为。我的指令只是将ng-repeat 添加并编译到我的dom 元素中。但是,范围变量 item 不可访问。请看下面的代码进行解释。
var demo = angular.module('demo', []);
demo.directive('customRepeat', function($compile) {
return {
priority: 2000,
restrict: 'A',
compile: function(element){
element.attr('ng-repeat', 'item in [1,2,3,4,5,6]')
return function(scope, element) {
$compile(element)(scope)
}
}
}
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js"></script>
<div ng-app='demo'>
<h3>My Items</h3>
<div custom-repeat>
Item: {{item}}
</div>
</div>
谁有一些 Angularjs 技能来解决这个问题?
注意尝试使用旧版本的 Angularjs(比如 1.2.x)运行它,您会发现它按预期工作。
【问题讨论】:
标签: angularjs angularjs-directive angularjs-ng-repeat