Angularjs在另一个文件中调用函数

时间:2013-08-27 00:01:16

标签: javascript angularjs

我的问题很像这样:AngularJS seed: putting JavaScript into separate files (app.js, controllers.js, directives.js, filters.js, services.js)我可以在其中一个可以被另一个文件调用的文件中创建一个函数吗?如果是这样,我还需要添加什么?我没有添加它的唯一原因是它被关闭了。任何帮助都会很棒!

1 个答案:

答案 0 :(得分:4)

访问另一个控制器是完全错误的。你有很多方法可以在他们之间进行交流。这里有3个简单的:

  1. 范围:您可以使用$ parent或简单地使用$ rootScope访问所有父控制器的范围(不要过度使用它,否则您的根范围将变得混乱)。请记住,在更改范围之前,范围始终包含父范围对象。在范围变量上使用$ watch可以在需要时使代码更清晰。 (see the scope documentation)

  2. 事件:非常简单。你用$ scope。$ on听,你用$ scope发送它。$ broadcast或$ scope。$ emit(取决于你是否希望通知孩子或父母)。

  3. 服务:如果您尝试实施的内容没有明确的控制器所有者,则可能需要考虑使用服务。然后,您可以在所有控制器中使用它。 (See Creating Services)

  4. 大多数情况下,您最终会使用示波器,因为您希望与父控制器进行交互。如果有什么不清楚,请告诉我。