【发布时间】:2016-09-19 18:57:51
【问题描述】:
我创建了一个指令来处理表单输入组。每个输入都需要绑定到一个根范围变量。我建立了一个工厂来存储变量,以便我可以在主控制器和指令中使用它们。
到目前为止,我已经让数据填充表单字段(每个字段中的所有相同数据)。但我通过指定字段名称来做到这一点。为了让指令的每个实例显示不同的数据,我可以发送它应该绑定的字段的名称,但如果我在 ng-model 中使用它会引发错误。
此外,即使我在其中硬编码该字段,它也只是一种单向绑定。
var app = angular.module('myApp', []);
app.controller('mainCtl', function($scope, sharedData){
$scope.otherdata = "main scope";$scope.test = sharedData.data1;
}).service('sharedData', function(){
this.data1 = 600;
this.data2 = 700;
}).directive('myDir', function(sharedData){
return {
restrict: 'E',
replace: 'true',
templateUrl: 'my-dir',
scope: {
bindTo: '=',
showMe: '='
},
link: function(scope, element, attrs){
scope.data1 = sharedData.data1;
scope.data2 = sharedData.data2;
}
};
此处的示例缩短:https://jsfiddle.net/wkaskie/najnkga4/12/ 在小提琴中,我将它放在与 data1 的单向绑定的位置。我需要传入一个变量来指示每个输入应该绑定到哪个字段。
【问题讨论】:
标签: angularjs service binding scope directive