1
在我的應用程序中,我有一個控制器和一個指令,我用它來繪製圖表。 所以我的模式是這樣的:$scope.d3DataGraph ={"selected":{"node":"","impiega":[],"impiegato": []} , "nodes":[],"links":[]};
:
$scope.d3DataGraph.nodes.push(articolo);
然後我有指令,它負責繪製圖形通過添加一些SVG標籤的DOM:
在我的指令我有有當模型改變觸發渲染功能...
angular.module('myApp.directives')
.directive('d3Graph', ['d3', function(d3) {
return {
restrict: 'EA',
scope: {
data: "=",
query: "=",
label: "@",
onClick: "&"
},
link: function(scope, iElement, iAttrs) {
var svg = d3.select(iElement[0]).append("svg")
.attr("width", "100%")
.attr("height", "800px");
var datatree = {};
scope.$watch(function(){ return scope.data.nodes; }, function(){
return scope.render(scope.data, scope.query);
}
);
scope.render = function(datatreex, query){....
的指令「被稱爲」白衣這個標籤
<d3-graph data="d3DataGraph" selected = "selected" query = "selezionati"></d3-graph>
問題是渲染功能,只有當加載頁面時被調用,而不是當控制器更新模型...
哪裏我錯了? 整體設置似乎是正確的,你怎麼看待它?
OP - 如果對您有幫助,您是否還可以投我的答案,謝謝。 – elaijuh