如何使用ng-model更新Redux状态?

时间:2016-09-08 13:02:45

标签: angularjs redux

我有这个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指令。

1 个答案:

答案 0 :(得分:0)

我通过使用Angular watch方法找到了一种非常简单的方法:

$rootScope.watch('state.input',function(){
    store.setState({input:$rootScope.state})
)