结合我创建了一个简单的组件:的一个组件内输入打破双向AngularJS
(function (module) {
'use strict';
function SomeCtrl() {
this.foo = function (event) {
this.someArray.forEach(function (part, index, array) {
//somelogic
array[index] = array[index] + " (foo)";
});
}
}
module.component('componentName', {
templateUrl: 'blah.html',
controller: SomeCtrl,
bindings: {
someArray: '=',
}
});
})(module);
HTML模板也很简单:
<div class="input-group">
<input type="text" class="form-control" ng-model="$ctrl.someArray" />
<span class="input-group-btn">
<a class="btn btn-default" ng-click="$ctrl.foo($event)">
<span class="glyphicon glyphicon-ok" aria-hidden="true"></span>
</a>
</span>
</div>
{{$ctrl.someArray}}
基本上它的一些输入和按钮。输入与数组绑定,并且按钮单击数组被修改。
不幸的是组件表现很奇怪。表达式({{$ctrl.someArray}}
)已更新,但输入值保持不变。
另一方面,当用户修改输入值,然后表达式正确改变。
没有错误抛出,没有任何东西。它甚至不是一个双向绑定,但数据流量的异常块...
你能创建一个plunker/fiddle吗? – tanmay