Raz*_*ger 5 javascript java gwt angular
我在GWT中有一个大项目,我正在尝试将Angular2与它集成。(由于我在2.7版上运行,因此无法迁移到2.8版,所以不能选择angular2-gwt)
我面临着一些我似乎不知道该如何面对的问题:
1)我听说您可以使用JSNI来使用angular应用程序,但是我似乎无法做到这一点或找到任何有关它的信息。它是如何工作的,我该怎么办?(调用功能是一种选择吗?)
2)我试图将有角度的应用程序的选择器标记添加到GWT入口点html,并且效果很好,但是当我尝试将选择器添加到.ui.xml文件(UI绑定)时,它不起作用,为什么?
3)是否可以从Servlet调用GWT客户端?我的意思是我正在angular2应用程序上并使用rest调用,此rest调用可以在GWT客户端调用某些东西吗?
谢谢!
首先,我应该指出,从 GWT 2.7 迁移到 GWT 2.8 对我来说非常轻松。我更新了我的应用程序,没有遇到任何重大问题(一些 Maven 依赖项发生了变化,一些标志在这里和那里,等等)。我之所以提到这一点,是因为与 GWT 2.7 相比,GWT 2.8 中的原生 JS 支持得到了极大的改进,所以如果可能的话,您确实应该进行切换。
无论如何,在 GWT 2.7 中:
public static native void sayHello() /*-{
$wnd.alert("Hello world!");
}-*/;
请注意$wndJS 中“全局”命名空间占位符的构造(即在 JS 中您只需调用alert() 而不使用特定命名空间)。
但请注意,如果您要与大量JS 本机代码交互(例如使用 Angular 中的复杂对象),那么您将为走这条路线付出高昂的代价。当您想从 JS 调用一两个函数时,此路线非常有用,但除此之外我不推荐它。例如,您可以查看http://www.gwtopenlayers.org/gwt-openlayers的源代码,并查看更复杂的示例(该库包装了许多本机 JS)
.ui.xml是一种特殊的野兽。一些混淆发生在后台/一些其他事情发生。最接近 HTML 的方法是在g:HTMLPanel小部件中放入一些内容,但据我所知,其中不能真正包含 JS。| 归档时间: |
|
| 查看次数: |
1800 次 |
| 最近记录: |