有人使用visjs
和Angular吗?我正在使用它,但我正在努力弄清楚如何访问和修改范围变量。具体来说,在visjs的处理程序(例如点击)中,我似乎根本无法更改范围变量。有趣的是,我甚至尝试过rootScope,这也不起作用?我从未有过这种情况。
我已经在这里设置了一个示例代码集 - 正如您在内部点击一样,我无法更改$scope
或$rootScope
http://codepen.io/pliablepixels/pen/WwOpmd
点击处理程序的代码片段:
graph2d.on('click',function (prop) {
alert ("You clicked");
$scope.myname = "terminator";
$rootScope.rootmyname="footer";
});
答案 0 :(得分:1)
$scope.$apply
中。我更新了codepen。
答案 1 :(得分:1)
你认为这很好,但考虑使用$timeout
服务。当摘要周期正在进行时,$scope.$apply
可能会失败。
所以注入$timeout
并执行以下操作:
$timeout(function() {
$scope.myname = "terminator";
$rootScope.rootmyname="footer";
});
这仍然会与$scope.$apply
做同样的事情,但是要安全。