我有一個奇怪的角度範圍混合的情況。這裏是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>'
};
}