【发布时间】:2016-02-08 18:05:35
【问题描述】:
我目前正在将 Backbone 项目移植到 Angular 2 项目(显然有很多更改),其中一个项目要求要求某些方法可以公开访问。
一个简单的例子:
组件
@component({...})
class MyTest {
private text:string = '';
public setText(text:string) {
this.text = text;
}
}
显然,我可以拥有<button (click)="setText('hello world')>Click me!</button>,我也想这样做。不过,我希望能够公开访问它。
像这样
<button onclick="angular.MyTest.setText('Hello from outside angular!')"></click>
或者这个
// in the js console
angular.MyTest.setText('Hello from outside angular!');
无论哪种方式,我都希望公开该方法,以便可以从 Angular 2 应用程序外部调用它。
这是我们在主干中所做的事情,但我猜我的 Google foo 不够强大,无法使用 angular 找到一个好的解决方案。
我们宁愿只公开一些方法并有一个公共 api 列表,所以如果您也有这样做的提示,那将是一个额外的好处。 (我有想法,但欢迎其他人。)
【问题讨论】:
-
@DaveKennedy 你知道这个问题是在那个问题之前发布的,对吧?
标签: javascript angular