我有一个单页面的应用程序,它是用MVC和jQuery开发的。我在我的cshtml页面中有一个按钮并单击该按钮,我需要加载一个存在于角度组件内的函数。我怎样才能做到这一点?
其中一种可能的方法是将组件放在全局范围内,即创建组件并将其放在窗口对象上。这是一个实现类似功能的线程
How do expose angular 2 methods publicly?
希望这可以帮助。
我可以通过以下方法在jquery对话框中打开angular2应用程序:
jQuery应用程序:
1)在我打开对话框的函数内部,我创建了一个iframe,然后将角度应用程序URL作为其来源传递。
2)我还声明了一个窗口级变量并使用来自我的父jQuery应用程序的数据进行分配,以便我可以在我的子角度应用程序中使用这些数据。
window.angAppInput = "Input to angular app"
角度应用:
1)在组件声明之前,我声明窗口对象如下:
declare var window: any;
2)在ngOnInit中,我使用下面的父jQuery app初始化我的角度应用程序:
this.angAppInput = window.parent.angAppInput;