Javascript Angularjs类,在模型中具有属性和方法
这是一种好的做法吗?这是正确的方法吗Javascript Angularjs类,在模型中具有属性和方法,javascript,angularjs,Javascript,Angularjs,这是一种好的做法吗?这是正确的方法吗 function UsersCtrl ($scope, $window, $http) { $scope.Users = { data : [], load : function () { $http.get('users/').success(function (data) { $scope.Users.data = data; }
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模型中分离方法和属性
提前谢谢 此特定代码不会影响性能,但会影响应用程序的可测试性和可读性。另外,这与关注点分离原则和标准MVC模式是对立的 您的用户对象应该在服务工厂中定义,并在需要时注入 如果将其保留在控制器中定义,则如果需要在其他控制器中使用相同的Users对象,则必须重新定义它
也就是说,您没有看到这样的代码并不奇怪。谢谢Stewie的回答。你有没有关于在这种情况下如何使用工厂的例子?每个属性和方法都必须在服务中,我必须在控制器中复制它才能访问它?如何将DOM操作与服务方法交互??再次谢谢。有一个好消息让你走。