2016-12-02 25 views
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> 

使用納克級的改變指令無法正常工作。
簡單地說,我試圖實現的是,當用戶單擊它的名稱時更改圖形。 這是什麼原因,我該如何解決這個問題?

+0

[ng-class的可能重複不會觸發自定義指令](http://stackoverflow.com/questions/23304673/ng-class-will-not-trigger-on-custom-directive) – jkris

回答

0

將限制C更改爲A,並將使用指令作爲屬性。

相關問題