javascript - 在 Angular 中使用 $scope 属性的最佳实践

标签 javascript angularjs

我正在开发一个应用程序,我正在努力确保我正确地使用了 $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/

相关文章:

javascript - 在 AngularJS 中插入来自可信源的 iframe

html - 如何使用仅在文本区域达到其最大长度时显示的 "ng-show"切换错误消息?

javascript - 如何使用 Nunjucks 安全地将 JSON 渲染到内联 <script> 中?

javascript - 调整可见性时 div 元素闪烁

javascript - Angular.js API 调用 - 我应该使用工厂吗?

javascript - Post 方法抛出错误

angularjs - TypeScript + AngularJS 1 : How to connect enum with select directive?

javascript - Req.headers.cookie 为空,即使请求 header 中有 cookie

javascript - 通过jQuery将音频文件加载到HTML5音频播放器

javascript - 如何在ES6函数中触发onClick()函数?