【发布时间】:2015-11-18 12:42:46
【问题描述】:
我无法将数据从指令返回到控制器。我的指令具有隔离范围,根据文档,我使用'='来进行2路数据绑定,但不知何故存在一种数据绑定方式,但不是2路。我对指令数据的更改不会被推回控制器。 一些代码片段:
controller
========
$scope.ap1 = "1111";
$scope.ap2 = "1111";
html
=======
<d3-zones
ng-if="vzones"
zone-data="vzones"
ap1-data="ap1"
ap2-data="ap2">
</d3-zones>
directive
========
scope: {
zoneData: '=zoneData',
ap1Data: '=ap1Data',
ap2Data: '=ap2Data'
},
And later in the link function, i am updating these two values on a particular event like this:
scope.$apply(function() {
scope.ap1Data = somevalue;
scope.ap2Data = somevalue;
});
在我的指令中,我使用 d3 来绘制一些矩形。在 ap1Data 和 ap2Data 中,我想返回刚刚绘制的两个矩形的 ID。
我不知道这里出了什么问题。如果你能弄清楚,请告诉我。
谢谢, 卡西夫
【问题讨论】:
-
请提供 plunkr 链接或其他内容,以便识别问题。
-
同意您需要发布一个工作示例。这是一个相当简单的场景,所以应该会有所帮助。
-
我实际上发现了这个问题。让我发布我的解决方案作为答案。
标签: angularjs d3.js directive 2-way-object-databinding