【发布时间】:2015-07-27 01:02:31
【问题描述】:
我省略了一堆上下文,但我认为没有太多必要。我有一堆代码指向具有prop 属性的对象。然后我设置了一个$scope.$watch,它正在监视对象,然后,基本上,广播prop——属性的名称,和newValue[prop],那个属性的值。看起来有点像这样:
$scope.$watch(function(){return object;}, function(newValue, oldValue) {
for (var prop in object) {
if (newValue[prop] !== oldValue[prop]) {
$scope.$broadcast('from-parent', {a: prop, b: newValue[prop]});
}
}
};
如您所料,广播消息console.log() 已发送至Object {a: (the property's name), b: (the value of the property)}。
奇怪的是,当我删除 a: 和 b: 键时,即
$scope.$broadcast('from-parent', {prop, newValue[prop]});
我收到 Uncaught SyntaxError: Unexpected token [ 错误。
你不能通过对象中的括号来引用属性吗?这是怎么回事?
【问题讨论】:
标签: javascript angularjs object