更多的JavaScript问题。但是我在学习Angular的时候碰到了它!
为什么赋值给$scope。时钟有大括号吗?我把它们拿掉了,没有它们肯定不会产生正确的结果!这种技术在Javascript中叫什么?
function MyController($scope) {
$scope.clock = {
now: new Date()
};
var updateClock = function() {
$scope.clock.now = new Date();
};
setInterval(function() {
$scope.$apply(updateClock);
}, 1000);
updateClock();
};
在这种情况下,$scope.clock
被分配给一个Javascript对象。更准确地说,这被称为"对象文字"表示法。
花括号将时钟变量定义为对象。这意味着如果你可以在这个对象上赋值变量,比如now变量。这样你就可以这样做了。角一边。
var clock = {
now: new Date()
};
alert(click.now);
这将显示一个带有new Date()结果的警告框。您也可以通过其他方式向对象添加变量。
var clock = {};
clock.now = new Date();
这与上面的内容相同。
在angular中,你所做的就是在$作用域上分配时钟变量。然后给新分配的时钟变量一个now变量。它看起来像这样。
var iAmAnObject = {};
iAmAnObject.clock = {
now: new Date()
};