Bat*_*man 5 javascript angularjs
我正在开发一个应用程序,我正在努力确保我$scope正确使用它.
我观看了最佳实践视频和Miško有点说我们不应该$scope在这里操纵属性.
我一直在创建像这样的变量:
$scope.groups = groupService.getGroups()
$scope.users = userService.getUsers();
$scope.selectedUser = false;
Run Code Online (Sandbox Code Playgroud)
我应该重新编写我的应用程序来使用这样的东西:
$scope.model = {
selectedAvailableGroups: [],
selectedAssignedGroups: [],
allGroups: groupService.getGroups(),
allUsers: userService.getUsers(),
selectedUser: false
}
Run Code Online (Sandbox Code Playgroud)
我问的原因是我很少看到使用$scope.model方式的示例或应用程序,它通常只是声明的属性$scope.
由于 javascript 搜索继承链的方式,您的模型名称中应该始终包含句点。我建议您按照您的建议进行重构。
需要明确的是,当您在 javascript 对象上设置原始属性时,例如:
$scope.Name ='Fred'
Run Code Online (Sandbox Code Playgroud)
如果名称不存在,JavaScript 将创建一个新属性,而不检查父对象。
如果你这样做:
$scope.Model.Name = 'Fred'
Run Code Online (Sandbox Code Playgroud)
javascript 将一直检查父级,直到找到 Model.Name 或发现它未定义。
| 归档时间: |
|
| 查看次数: |
826 次 |
| 最近记录: |