2013-11-21 48 views
1

我創建指令,以真正的角度方式加載jquery的handsontable。但這僅僅是第一次加載的可移植表的真正方法。如果在點擊鼠標後需要更改表格數據怎麼辦?什麼是正確的角度觸發可通過鼠標點擊loadData的方式點擊鼠標

var gmApp = angular.module('gmApp', ['gmServices']); 
gmApp.directive('myChart', function() { 
    return { 
     restrict: 'A', 
     link: function(scope, element, attrs) { 
      $(element).handsontable(scope.$eval(attrs.myChart)); 
     } 
    }; 
}); 

我也創建了射擊showVariable list()函數

<ul> 
     <li ng-repeat="variable in list" ng-click="showVariable(variable.id)">{{variable.name}}</li> 
</ul> 

此功能火loadData在我的控制器:

$scope.showVariable = function(id) { 
    $('#myChart').handsontable('loadData', $scope.data[id]); 
}; 

但目前看來,這種狀況正在改變控制器中的DOM而不是一個真正的角度方式。什麼是做正確的角度方式('loadData')?

回答

2

移動showVariable你的指令的link功能:

link: function(scope, element, attrs) { 
     $(element).handsontable(scope.$eval(attrs.myChart)); 

     scope.showVariable = function(id) { 
      $('#myChart').handsontable('loadData', $scope.data[id]); 
     }; 
    }