javascript闭包与否(使用angularjs指令和d3js时)
受这个例子的启发,我做了一个简单的指令,单击后将更改父范围上的值 当我点击圆圈时,html页面上的javascript闭包与否(使用angularjs指令和d3js时),javascript,angularjs,d3.js,Javascript,Angularjs,D3.js,受这个例子的启发,我做了一个简单的指令,单击后将更改父范围上的值 当我点击圆圈时,html页面上的{{{value}}不会改变 这难道不是正确的吗,作为javascript闭包规则,在(“单击”,function()…,scope.v中的scope应该与link:function(scope…中的范围相同,因为您正在“角度世界”之外更新您的范围,并且希望angular运行一个摘要循环 d3.select(element[0]).append("svg").attr({width:300,heig
{{{value}}
不会改变
这难道不是正确的吗,作为javascript闭包规则,在(“单击”,function()…,scope.v
中的scope
应该与link:function(scope…
中的范围相同,因为您正在“角度世界”之外更新您的范围,并且希望angular运行一个摘要循环
d3.select(element[0]).append("svg").attr({width:300,height:300})
.append("circle").attr({cx:100,cy:100,r:20})
.on("click",function(){scope.$apply(function(){scope.v="clicked inside d3";})});
.您需要添加,因为您正在“角度世界”之外更新您的范围,并且希望angular运行摘要循环
d3.select(element[0]).append("svg").attr({width:300,height:300})
.append("circle").attr({cx:100,cy:100,r:20})
.on("click",function(){scope.$apply(function(){scope.v="clicked inside d3";})});
d3.select(element[0]).append("svg").attr({width:300,height:300})
.append("circle").attr({cx:100,cy:100,r:20})
.on("click",function(){scope.$apply(function(){scope.v="clicked inside d3";})});