3

考虑以下 AngularJS 应用程序:

方法addPane()将窗格推入控制器的窗格列表,paneCount()返回其长度。创建 3 个窗格后,paneCount()从绑定访问方法{{paneCount()}}并直接在 test: 中scope.paneCount()返回 0。

AngularJS 似乎创建了两个控制器实例——一个可从控制器方法访问,另一个可从范围的方法访问。有人知道为什么需要创建两个实例吗?有没有办法从控制器和范围方法访问相同的属性?

4

1 回答 1

1

问题是你的控制器定义!您定义了两次范围。一次在控制器本身中,一次在 tabs 指令的指令定义中。指令定义覆盖了控制器的范围,因此计数将不正确。

// scope: {}, not necessary because defined in controller ctrl

希望这可以帮助 :)

于 2013-07-31T12:57:53.203 回答