更多JavaScript问题。但是在学习Angular时遇到了它!
为什么$ scope.clock的赋值有花括号?我把它们拿出来,没有它们肯定没有产生正确的结果! Javascript中调用的技术是什么?
function MyController($scope) {
$scope.clock = {
now: new Date()
};
var updateClock = function() {
$scope.clock.now = new Date();
};
setInterval(function() {
$scope.$apply(updateClock);
}, 1000);
updateClock();
};
答案 0 :(得分:4)
在这种情况下,$scope.clock
被分配给Javascript对象。更准确地说,这被称为“对象字面数”'符号
答案 1 :(得分:0)
花括号将时钟变量定义为对象。这意味着如果您可以在此对象上分配变量,例如now变量。这样你就可以做到这一点。有角度的。
var clock = {
now: new Date()
};
alert(click.now);
这将显示一个警告框,其中包含新Date()的结果。您也可以通过其他方式向对象添加变量。
var clock = {};
clock.now = new Date();
这与上述相同。
使用angular你所做的就是在$ scope上分配时钟变量。然后给新分配的时钟变量一个now变量。看起来像这样。
var iAmAnObject = {};
iAmAnObject.clock = {
now: new Date()
};