让我用一个例子解释一下。
控制器:
app.controller('myController', function(){
var refCtrl = this;
refCtrl.employeeName = 'Bill';
refCtrl.employeeAge = 25;
myService.changeNameAndAge(refCtrl);
});
现在,employeeName和employeeAge变量被绑定到视图(HTML)。
服务:
app.factory('myService',function(){
return {
changeAgeAndName : function(ref) {
if(some_business_logic_condition_check) {
ref.name = 'Harry';
ref.age = 30;
}
}
};
});
现在,我们可以使用此服务在视图中更改名称和年龄的值。
它正在成功发生。但这是一个好习惯吗?它不会打破MVC模式吗?
答案 0 :(得分:0)
在MVC层之间保持松散耦合总是一个好主意。在给定的代码中,如果更改了控制器,那么服务也将需要更改,从而使每个更改都变得非常复杂。