建立一个可重用的AngularJS指令与双向数据绑定设置我试图构建一个可重用的指令,显示一个对话框,当一个按钮被点击并允许用户自定义一个字符串数组。我在单用途情况下可以正常工作,但我试图弄清楚是否可以通过代码创建双向数据绑定,以便我可以多次使用此指令的单个实例与不同的数组的字符串。通过代码
以我HTML,我有指令(注意缺乏结合到特定阵列):
<my-array-dialog control='arrayDialog'></my-array-dialog>
我暴露的共享控制对象上有一个ShowDialog方法使所述对话框显示。这种模式的一个例子是:http://plnkr.co/edit/MqN9yS8R5dnqTfjqldwX?p=preview
我想要做的是双向数据绑定与父控制器传入数据到我的showDialog方法。我不确定如何配置它,或者即使它是可能的。
在我的指导,我有以下几点:
$scope.control = {
showDialog: function (arrayData) {
// Ideally, this would create two-way data binding
$scope.arrayData = arrayData;
// Manipulate the DOM here to show the dialog
}
}
理想的情况下,以$scope.arrayData
变化将在调用代码的arrayData得到体现。同样,我没有把它设置为属性的原因是因为我想用不同的数据多次调用这个对话框并避免有多个对话框指令实例。
是否有可能以这种方式设置双向数据绑定,还是我在谈论这一切都是错误的?
我会研究$ compile,谢谢。如果解决了我的问题,我会报告回来。 –
@BrianVallelunga - 提议的解决方案有什么好运? – jelinson