【发布时间】:2012-11-30 04:48:22
【问题描述】:
如果使用路由和控制器,那么模型不会在控制器重新加载之间保存他的状态。 Angular 在每次路由加载时创建控制器实例和新范围。
例如,我在输入中输入具有 ng-model="something" 的内容,然后转到另一条路线,然后返回第一条路线。我输入的所有文字都丢失了。
我需要在路由更改之间进行简单的双向数据绑定。尽可能简单,如 knockoutjs 中的 ko.observable。或者在一个控制器中隐含地像角度一样。也许使用单例 $scope 作为控制器?
我找到了方法,当我创建用于在路由更改之间保存数据的服务并将其注入控制器时。在控制器的构造函数中,我使用来自服务的值创建模型,并 $scope.watch 此模型的更改,并在更改时将模型的值设置为服务。
有没有更简单的方法?
【问题讨论】:
标签: angularjs