事件

时间:2015-08-27 02:34:54

标签: angularjs d3.js

我正在尝试获取一个角度指令元素,该元素创建一个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的方式谷歌。

谢谢!

1 个答案:

答案 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()的好教程。