【问题标题】:Redefined Variable Doesn't Bind in AngularJS重新定义的变量在 AngularJS 中不绑定
【发布时间】:2015-06-07 20:19:01
【问题描述】:

我是 Angular 的新手,在创建应用程序时遇到了一个错误,其中单个 AngularJS 绑定在绑定对象值更改时不会更新。

这是应用程序的缩小版本,因此它的结构如此。这是 HTML:

<div ng-app="userLogin">
  <div ng-controller="loginCtrl">{{currentUser.name}}</div>
</div>

currentUser.name 应该在将值应用于该键时更新。这是假设更新值的 Angular 脚本:

'use strict';

angular.module("userLogin", [
  'userLogin.controllers',
]);

angular.module('userLogin.controllers', []).controller('loginCtrl', ['$scope', function(
    $scope
  ){
      $scope.users = [
      {
        name: 'Fred Jones',
        username: 'fred.jones',
      }];
      var currentUser = {};
      $scope.myFunction = function(){
         currentUser = $scope.users[0];
         console.log(currentUser.name);
      };
      $scope.myFunction();
    }]);

所以你看到我有一个名为“用户”的小数组对象(目前只有一个项目)。然后,我定义了我在 HTML 中绑定的 currentUser 变量。然后,运行一个简单的函数,将 currentUser.name 定义为等于“Fred Jones”。

但是,当脚本运行时,页面是空白的。控制台显示 currentUser.name 的正确更新值,但 HTML 绑定未按应有的方式显示 Fred Jones。

我在这里做错了什么?

这是一个 codepen 演示:http://codepen.io/anon/pen/JoVBaE

【问题讨论】:

    标签: javascript angularjs data-binding angularjs-scope


    【解决方案1】:

    currentUser 不在范围内。必须是$scope.currentUser =

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-07
      • 2016-04-15
      • 2013-06-09
      • 2019-05-27
      • 2015-08-04
      • 1970-01-01
      • 2018-02-23
      • 2017-07-03
      相关资源
      最近更新 更多