Angularjs 有没有一种好方法可以确保双向绑定对作用域变量所做的更改反映在相应的服务变量中?
以代码为例:Angularjs 有没有一种好方法可以确保双向绑定对作用域变量所做的更改反映在相应的服务变量中?,angularjs,angularjs-scope,angularjs-service,Angularjs,Angularjs Scope,Angularjs Service,以代码为例: app.service('myService', function() { var _name = ''; this.getName = function() { return _name; } this.setName = function(name) { _name = name; } }); 控制器分配范围变量时: $scope.name = myService.getName(); 我使用这个名
app.service('myService', function() {
var _name = '';
this.getName = function() {
return _name;
}
this.setName = function(name) {
_name = name;
}
});
控制器分配范围变量时:
$scope.name = myService.getName();
我使用这个名称进行数据绑定
<input type="text" ng-model="name" />
如何确保我在输入框中对名称所做的任何更改都反映在服务变量\u name
中。我知道$watch
并且调用myService.setName
是一个选项,但是我想避免它,因为我有很多这样的变量,我想在更改视图时保留它们
用例可以是:多视图注册表单,其中每个视图包含一定数量的条目,移动到下一页将要求输入更多信息。(是的,我不想在单击下一步按钮时调用
myService.setName:)…)将字符串包装到对象中:
app.service('myService', function() {
var person = {
name: ''
}
this.getPerson = function() {
return person;
}
});
$scope.person = myService.getPerson();
<input type="text" ng-model="person.name" />
app.service('myService',function()){
个人变量={
名称:“”
}
this.getPerson=函数(){
返回人;
}
});
$scope.person=myService.getPerson();