我正在开发一个应用程序,我正在努力确保我正确地使用了 $scope
。
我看过最好的practices video Miško 有点说我们不应该在其中操纵 $scope
属性。
我大部分时间都是这样创建变量的:
$scope.groups = groupService.getGroups()
$scope.users = userService.getUsers();
$scope.selectedUser = false;
我是否应该重新编写我的应用程序以改用这样的东西:
$scope.model = {
selectedAvailableGroups: [],
selectedAssignedGroups: [],
allGroups: groupService.getGroups(),
allUsers: userService.getUsers(),
selectedUser: false
}
我问的原因是我很少看到示例或应用程序使用 $scope.model
方式,它通常只是在 $scope
上声明的属性。
最佳答案
由于 javascript 搜索继承链的方式,您应该始终在模型名称中使用句点。我建议您按照您的建议进行重构。
明确地说,当您在 javascript 对象上设置原始属性时,例如:
$scope.Name ='Fred'
如果名称不存在,javascript 将创建一个新属性而不检查父对象。
如果你这样做:
$scope.Model.Name = 'Fred'
javascript 将一直检查父项,直到它找到 Model.Name 或发现它未定义。
关于javascript - 在 Angular 中使用 $scope 属性的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21618562/