AngularJs从组件向控制器添加方法

Posted

技术标签:

【中文标题】AngularJs从组件向控制器添加方法【英文标题】:AngularJs Adding methods to controller from a component 【发布时间】:2016-11-25 11:54:08 【问题描述】:

我想要两个不同的组件共享同一个控制器。 但是我想为每个组件添加一个额外的方法,并且只有在使用该组件时才可以使用该方法。

我正在尝试做这样的事情。

app.component('myComponent',
  templateUrl: 'mytemplate.html',
  controller: 'myController', ['myService', function(myService)
    //extra things here  
  ]
);

然后我的第二个组件将与此类似,但会在控制器方法中执行其他操作。

我知道这行不通,但有没有办法让它发挥作用?或更好的方法来完成这项工作。

提前谢谢你。

【问题讨论】:

【参考方案1】:

尝试使用 $broadcast 订阅 看看这里 https://toddmotto.com/all-about-angulars-emit-broadcast-on-publish-subscribing/

【讨论】:

以上是关于AngularJs从组件向控制器添加方法的主要内容,如果未能解决你的问题,请参考以下文章

如何在AngularJS中动态添加组件?

AngularJS:将函数从控制器传递到指令的多种方法

AngularJS 1.7.9 从控制器到组件的绑定变量提供未定义的值

AngularJS 笔记系列控制器和表达式

angularjs controller间的传值方法

AngularJS - 如何动态更改组件控制器?