任何人都可以告诉我这样做有什么区别:
$scope.pageModel = {};
$scope.pageModel.varA = false;
$scope.pageModel.varB = "";
$scope.pageModel.varC = "";
并且这样做:
$scope.pageModel = {
varA = false,
varB = "",
varC = ""
};
如果我执行第二个版本,我的应用程序会中断,但如果我按第一个版本执行则不会。当然,只有两种方法可以为模型声明相同的值? - 有人能指出我正确的方向吗?
答案 0 :(得分:2)
$scope.pageModel = {
varA: false,
varB: "",
varC: ""
};
(这是基本的Javascript语法,根本与Angular无关)
答案 1 :(得分:1)
要使第二个示例正常工作,您需要将其定义为不使用=
的对象app.controller('testCtr',
function testCtr($scope){
$scope.pageModel = {
varA : false,
varB : "",
varC : ""
};
});
现在可行了。 这是基础知识,我建议在javascript中阅读更多有关oop的内容 一些例子在这里:
答案 2 :(得分:1)
var person = {
name: "Tarzan"
};
这是无效的:
var items = {
item1: 10,
item2: items.item1 + 10 // invalid
};
虽然这是有效的:
var items = {};
items.item1 = 10;
items.item2 = items.item1 + 10; // valid
答案 3 :(得分:0)
Javascript对象表示法是
{
attribute_1: value_1,
attribute_2: value_2,
.
.
.
attribute_n: value_n
}
所以你需要按如下方式声明你的pageModel:
$scope.pageModel = {
varA: false,
varB: "",
varC: ""
};
此外,通常认为使用对象表示法声明对象而不是声明空对象然后分配其属性是好的样式。