我有以下指令
var chartDir = function () {
return {
scope: {
stat: '='
},
link: function (scope, element, attr) {
console.log(scope);
return;
}
}
HTML
<svg chart stat="stat"></svg>
所以在这种情况下我可以在控制台中看到范围有一个名为stat
的属性(一个数组,不是空的!)
这是截图...
但如果我做console.log( scope.stat )
那么我只得undefined
。我在其他图表中有相同的指令,它工作正常。但在这里,我无法理解为什么我无法访问scope.stat
UPD: 更多HTML
<div class="chart-container container" ng-show="statLoaded">
<div class="text col">
<div class="item" ng-repeat="item in stat | limitTo: middleIndex">
<div class="color">
<div class="sample" color-sample color="item.color"></div>
</div>
<div class="amount">
{{ item.amount }}
</div>
<div class="text">
{{ item.text }}
</div>
</div>
</div>
<div class="col">
<svg chart stat="stat"></svg>
</div>
...
所以我看到了所有项目和指令&#34; color-sample&#34;效果很好。所以&#39; stat&#39;已加载。那么,为什么&#39; color-sample&#39;指令工作和&#39;图表&#39; doesen&#39;?吨
答案 0 :(得分:0)
解决方案
scope.$watch(attr.stat, function () {
而不是
scope.$watch(scope.stat, function () {