1
我有幾個AngularJS指令來顯示Highstock圖(myGraphEff,myGraphEnergy,..)。如何啓動AngularJs指令時,其名稱設置爲ng級
現在我需要顯示這些圖形,邊欄顯示每個圖的名稱與「李」元素,並點擊它們,我加載相應的圖形。
這是我的控制器。
這裏是我的HTML代碼
<div class="box-content">
<div class="span8">
<div ng-class="displaingGraph" items="data" style="height: 296px;"></div>
</div>
<div class="sparkLineStats span4 widget green" onTablet="span5" onDesktop="span4" >
<ul class="unstyled onhover" >
<li ng-repeat="graph in showingGraphs" ng-click="loadData(graph.dir);">{{ graph .Name }}</li>
</ul>
</div>
</div>
我的指令結構是這樣的
app.directive('myGraphEff', function() {
return {
restrict: 'C',
replace: true,
scope: {
items: '='
},
controller: function ($scope, $element, $attrs) {
},
template: '<div id="container" style="margin: 0 auto">not working</div>',
link: function (scope, element, attrs) {
var chart = new Highcharts.stockChart({
chart: {
renderTo: 'container',
type: 'area'
},
title: {
text: 'my graph eff'
}
});
scope.$watch("items", function (newValue) {
chart.series[0].setData(newValue, true);
}, true);
}
}
});
現在的問題是,如果我加載使用指令,
<div class="my-graph-eff" items="data" style="height: 296px;"></div>
的圖形加載成功。
但是如果我用ng-class加載它,指令的內容不會加載。
<div ng-class="displaingGraph" items="data" style="height: 296px;"></div>
但是,當我檢查瀏覽器中呈現的HTML,我可以看到下面,
<div ng-class="displaingGraph" items="data" style="height: 296px;" class="my-graph-eff"></div>
使用納克級的改變指令無法正常工作。
簡單地說,我試圖實現的是,當用戶單擊它的名稱時更改圖形。 這是什麼原因,我該如何解決這個問題?
[ng-class的可能重複不會觸發自定義指令](http://stackoverflow.com/questions/23304673/ng-class-will-not-trigger-on-custom-directive) – jkris