【发布时间】: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