我正在尝试获取一个角度指令元素,该元素创建一个d3图表(类似于此处显示的http://phloxblog.in/angulard3/start.html#.Vd5w_bM2w_t),以便在事件发生后更改其数据源。
目前,我已将该指令与静态数据源配合使用,但我需要能够对导致从API获取数据并重新加载图表的用户定义事件做出反应。实际上我想要这样的东西:
<myDirective dataSource={{some $scope variable here}} otherStuff=... />
但这似乎不起作用,因为$ scope变量没有得到评估。
我认为可以使用的另一种替代方法是让指令执行以下操作:
<myDirective ng-model="some $scope variable here" />
这样该指令可以访问1 $ scope level变量,这是一个带有我的配置的json对象。
很抱歉,如果这是一个基本问题。我已经尝试弄清楚如何做到这一点,但我不完全确定我需要以Angular的方式谷歌。
谢谢!
答案 0 :(得分:0)
当存在一些用户定义的事件时,您可以观察变化。
$scope.$watch (function ($scope) {
// Lets $scope.variable be the variable which gets changed
// when there is a user event
return $scope.variable
}, function () {
//perform your data fetch from API here
// load it into the data source
});
以上代码必须在您的控制器中。
here提供了一个关于$ scope.watch()的好教程。