无法更改Angular js中的变量,为什么?

时间:2016-04-09 14:59:29

标签: javascript angularjs

你可以帮忙吗? 我在小提琴中找到了这个例子。 http://jsfiddle.net/terebentina/9mFpp/

我的问题,为什么在Angular(在这个例子中)

$scope.widget = {title: 'abc'}; // works very well and ...
$scope.widget.title = 'abc'; // doesn't work

这是Javascript(widget.title)中对象的属性。我一直以为 - 我们可以随时设置它吗?哪里错了?

2 个答案:

答案 0 :(得分:0)

第二个不起作用的原因是因为你需要首先初始化对象:

// initialize the object first
$scope.widget = {};

// and now you can set the title
$scope.widget.title = 'abc';

但是这会让你输入2行代码。直接做这两件事有点短:

// Initialize the widget object and set its title property
$scope.widget = {title: 'abc'};

答案 1 :(得分:0)

由于未定义小部件对象(尚未存在),因此无法正常工作

以下代码会创建一个对象(包含字段'标题'值为' abc')并将其分配给' $ scope.widget'变量:

$scope.widget = {title: 'abc'};

以下代码指定' abc'进入' title'提交的小部件'对象:

$scope.widget.title = 'abc';

所以为了工作,必须定义widget变量