这是一个好习惯吗?这是一种正确的方法吗?
function UsersCtrl ($scope, $window, $http) {
$scope.Users = {
data : [],
load : function () {
$http.get('users/').success(function (data) {
$scope.Users.data = data;
});
},
emailUser : function (user) {
// send email (just an example)
}
};
}
HTML:
<li ng-repeat="user in Users.data">
</li>
<a href="#" ng-click="Users.load()">
Load
</a>
<a href="#" ng-click="Users.emailUser(user)">
Email
</a>
我担心表现!
我在网上搜索过,但我没有看到任何代码。它们中的大多数将特定$ scope模型中的方法和属性分开。
提前致谢!
答案 0 :(得分:0)
此特定代码不会影响性能,但会影响应用程序的可测试性和可读性。此外,这与Separation Of Concerns原则和标准MVC模式相对立。
您的Users对象应在服务工厂内定义,而不是在需要的地方注入。
如果您要在控制器内定义它,那么如果您需要在其他控制器内部使用相同的Users对象,则必须再次重新定义它。
那就是说,你没有看到这样的代码就不足为奇了。