我有这个HTML:
<input ng-model="state.input.name">
<input ng-model="state.input.password">
我有一个Redux商店。我希望每次用户输入框时,而不是只改变Angular方式的值,我想运行更新存储Redux状态:
这样的事情:
store.setState(_.extend({},store.getState(),{input:state.input})
我可以使用ng-change
来做,关键是我希望它能自动为任何ng-model
工作。我也希望state.input.name
的值来自州。对于只读元素,它不是问题:
<div ng-bind="{{store.getState().input.name}}">
但是对于读/写,我无法将其自动连接到存储。
我想可能会截取Angular.apply
* Angular.dispatch
方法或创建一个添加此功能的ng-model
指令。
答案 0 :(得分:0)
我通过使用Angular watch
方法找到了一种非常简单的方法:
$rootScope.watch('state.input',function(){
store.setState({input:$rootScope.state})
)