双向绑定指令
我试图创建一个具有双向绑定到传递的对象的指令范围的对象:双向绑定指令
angular.module('app').directive('lmDataBox', function() {
return {
restrict: 'A',
scope: {
lmdata: '=',
},
template: '<input type="text" ng-model="lmdata.displayValue">',
link: function link(scope, element, attrs) {
scope.lmdata.displayValue = 'testvalue';
}
};
然而,即使我设置“displayValue “到一个字符串输入框是空的。
我在做什么错?
我可能已经找到了你的问题:
lmdata很可能无法在你的父母范围设置。这意味着当您尝试设置scope.lmdata.displayValue时,您尝试设置未定义的作用域变量。
为了解决这个问题,你必须设定lmdata在父范围,像这样:
$scope.lmdata = {'displayValue':''};
我已经创造了plnkr工作示例(我只改变了限制,为方便“E”)here
这似乎是正确的答案,但只是挑剔 - 这不是没有设置“lmdata.displayValue”(这很好)。这就是'lmdata'没有设置,并且它不能设置'undefined'的'displayValue'属性。 – 2015-01-31 22:43:50
非常感谢这是问题所在。真棒! – JensOlsen112 2015-02-01 13:55:37
看起来不错 – pixelbits 2015-01-31 21:04:07