为什么我可以在我的范围内看到一个打印有 的属性console.log()
,但之后当我尝试访问它时它是未定义的?
以下代码位于指令的控制器函数中:
console.log($scope); //a scope object with a defined "output" property
console.log($scope.output); //undefined
这是我的第一个范围的输出console.log()
。
Scope {$id: "008", $$childTail: null, $$childHead: null, $$prevSibling: Scope, $$nextSibling: Scope…}
...
output: "3"
...
我知道还有另一个问题要求几乎相同,但是 OP 正在使用带有@
属性的隔离范围,而我正在使用=
它不会observe
像我所知的那样工作。
然后还有一些我有点困惑的事情。为什么这甚至是可能的,不是console.log()
作为参数给出的“快照”吗?那么我怎么可能在第 1 行看到一个属性,而在第 2 行它是未定义的呢?