我有一个奇怪的角度范围混合的情况。这里是plnkr:http://plnkr.co/edit/o8cyZXkHX8Lt9Vkbn0xmAngularJS示波器
跨越的范围不能解决appCtrl.testString
,这很奇怪,因为跨越的内容应该有外部的范围。更奇怪的是,num
得到正确解决。
另外,data-test-attr
获得了所述元素上的正确值ng-controller
定义。
这是一个最小的工作示例,所以与重新排序的元素或在不同的地方定义范围的解决方案并不非常适合我。无论如何,我宁愿破解repeatedDirective
,如果这是可能的话。
下面的代码:
index.html
<!DOCTYPE html>
<html ng-app="app">
<head>
<script data-require="[email protected]" data-semver="1.4.3" src="https://code.angularjs.org/1.4.3/angular.js"></script>
<script src="script.js"></script>
</head>
<body>
<repeated-directive ng-repeat="num in [1, 2, 3, 4, 5]" ng-controller="AppController as appCtrl" data-test-attr="{{appCtrl.testString}}">
<div>{{num}} - {{appCtrl.testString}}</div>
</repeated-directive>
</body>
</html>
script.js
angular.module('app', [])
.controller('AppController', AppController)
.directive('repeatedDirective', repeatedDirective);
function AppController($scope) {
this.testString = 'Controller value';
}
function repeatedDirective() {
return {
transclude: true,
template: '<div ng-transclude></div>'
};
}