-1
我有以下指令Angularjs。访问变量指令范围
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>
...
所以我看到的所有项目,并指令“颜色样本”的作品好。所以'stat'被加载。那么,为什么'颜色样本'指令起作用,'图表'不起作用?
貌似对指令的父'stat'属性执行你的指令之前尚未确定。当你看到控制台窗口时,已经有足够的时间让'stat'属性被设置为 –
。我了解控制台。但是,我怎么能通过统计来宣传。接近这个块,我有另一个'stat',它的加载非常好,所以'stat'被加载并存在(在控制器中,应该传递给这个derective)。 我也添加了范围$ watch(scope.stat,function(){.. to derective,但它仍然是undefined。 我怎样才能渲染我的感觉,当我得到'统计'加载? – Filosoff