gpt4 book ai didi

angularjs - 为什么在 ng-include 中通过 onLoad 传递变量时只能在模板中访问?

转载 作者:行者123 更新时间:2023-12-05 01:07:32 25 4
gpt4 key购买 nike

我对 Angular 范围的工作原理感到困惑!!!

我使用 ng-init 和 onLoad 将两个变量传递给一个模板。两个变量值都从模板访问,但我已将一个 Controller 绑定(bind)到该模板。我在想为什么两个变量都从模板打印它的值,但在从 Controller 访问时打印 undefined (onLoad varibale)。
Fiddle illustrating my problem jsFiddle

我的理解是,当我们使用 ng-init 传递变量时,它会在当前范围内创建该变量,但是 onLoad 传递的那个变量呢?

请告诉我它是如何工作的。

谢谢你。

最佳答案

第二个 Controller 可以访问这两个变量。

但是(看起来)第二个 Controller 是在 onload 之前创建的。表达式被评估。话虽如此,如果您想访问范围变量,您可以通过 watch 来访问(无论如何,您可能希望使用 watch 而不是使用范围变量的初始值 - 如果您的变量是 promise 的结果呢? ?)。

这是一个示例,显示您可以从第二个 Controller 访问负载:

http://jsfiddle.net/rDP2t/3/

关于angularjs - 为什么在 ng-include 中通过 onLoad 传递变量时只能在模板中访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18442741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com