我正在使用角度Js进行应用,我对制作控制器很困惑。我的问题是,我们应该像在所有服务器端MVC项目中那样为一个实体创建一个控制器,或者我们应该为不同的页面设置不同的控制器。
例如,我们有一个实体用户
我们应该为用户创建一个控制器( userCtrl )并在所有页面中包含该控制器,例如创建用户,搜索用户和删除用户页面,第二个选项是为不同的控件创建不同的控制器像createUserCtrl,searchUserCtrl等页面?
答案 0 :(得分:3)
理想情况下,我们应该有基于功能的控制器,而不是严格的视图。
答案 1 :(得分:2)
我们应该根据最佳实践为不同的视图使用不同的控制器。
答案 2 :(得分:0)
您实际上希望某种类型的provider
存储像实体用户这样的公共对象。
然后可以将其扩展为在整个应用程序中的不同controllers
中使用。
AngularJS Providers Documentation
基本Factory
提供程序示例。
angular.module('myApp',[])
.controller('myController',['contacts',function(contacts) {
this.contacts = contacts;
}])
.factory('contacts',function() {
return [
{
"_id": "540f0d1c29d786a159f9a27e",
"name": {
"first": "Francis",
"last": "Strong"
},
"company": "ZILLAN",
"email": "francis.strong@zillan.com",
"phone": "+1 (921) 507-2998"
},
{
"_id": "540f0d1cf078b6b0cf3ac56f",
"name": {
"first": "Johanna",
"last": "Rosario"
},
"company": "GLASSTEP",
"email": "johanna.rosario@glasstep.ca",
"phone": "+1 (958) 425-3942"
}];
});