【发布时间】:2015-03-25 19:57:03
【问题描述】:
假设我有一个这样的控制器:
angular.app("myapp",[]).controller("MyCtrl", function (MyService){
var vm = this;
vm.value1 = something();
vm.array1 = somethingElse;
//notice that I pass the whole controller as object to the service.
MyService.getData(vm);
//do something with data...
doWithNewData(vm.elementCreatedByMyService);
}). etc...
现在,传递 vm 本身似乎是有道理的,因为我不需要传递多个值并且多个控制器调用此服务。
这似乎有点矫枉过正,因为 vm 当然比服务中使用的元素要多得多。
此外,这有利于重用(正如我在生产中发现的那样)。
然后我的问题是:这是一种反模式还是“控制器作为”对象的有效使用? 现在,如果这是一个反模式,应该怎么做呢?
提前谢谢...
【问题讨论】: