基于$ http的链接服务到控制器

时间:2014-02-13 14:51:01

标签: angularjs

在我的控制器中,我使用的是基于$ http的服务,成功时正在更新$ scope。

另外,我想在我的指令中访问服务,在ng-click in指令中进行一些POST,然后从服务器刷新数据并在之后更新范围。所以信号的路由是:指令 - >服务 - >控制器 - > $范围。如果不在控制器上调用方法,而是从指令调用它,我怎么能这样做?

我知道我可以在指令和控制器之间绑定一些方法,但是我有8种可能的方法,我不想写8次method1:"&"<myDirective method1="method1()" method2="method2() "etc...那将是一团糟。< / p>

我不希望你为我写很多代码,只是一些提示,请...

1 个答案:

答案 0 :(得分:0)

如果未在指令中创建隔离范围或设置scope = true,则该指令在控制器范围内运行。

所以你的选择是

  • 在控制器上安装方法并将其作为指令中的正常范围方法进行访问。
  • 在控制器中将服务注入指令并调用服务并根据需要更新控制器范围

如果你想让指令可重用,最好还是使用隔离范围。