gpt4 book ai didi

javascript - 集成 GWT 和 angular2

转载 作者:太空狗 更新时间:2023-10-29 17:39:22 25 4
gpt4 key购买 nike

我在 GWT 中有一个大项目,我正在尝试将 Angular2 与其集成。 (angular2-gwt 不是一个选项,因为我在 2.7 版上运行并且当时无法迁移到 2.8)

我面临着一些我似乎不知道如何面对的问题:

1) 我听说您可以使用 JSNI 来使用 Angular 应用程序,但我似乎无法做到这一点,也找不到有关它的任何信息。它是如何工作的,我可以用它做什么? (调用一个函数是一个选项?)

2) 我尝试将 Angular 应用程序的选择器标记添加到 GWT 入口点 html 并且效果很好,但是当我尝试将选择器添加到 .ui.xml 文件(UI 绑定(bind))时它没有不工作,为什么?

3) 是否有从 servlet 调用 GWT 客户端的选项?我的意思是我在 angular2 应用程序中使用休息调用,这个休息调用可以在 GWT 客户端调用某些东西吗?

谢谢!

最佳答案

首先,我应该注意到从 GWT 2.7 迁移到 GWT 2.8 对我来说非常轻松。我更新了我的应用程序并且没有遇到任何重大问题(一些 Maven 依赖项发生了变化,一些标记在这里和那里,等等)。我之所以提到这一点,是因为与 GWT 2.7 相比,GWT 2.8 中的原生 JS 支持得到了极大的改进,因此如果可能的话,您真的应该进行切换。

无论如何,在 GWT 2.7 中:

  1. 您可以像这样从 GWT 调用任何类型的 JS:

public static native void sayHello()/*-{
$wnd.alert("Hello world!");
}-*/;

请注意 $wnd 结构,它是 JS 中“全局”命名空间的占位符(即在 JS 中,您只需调用 alert() 而无需使用特定的命名空间).

但是请注意,如果您要与 很多 JS 原生代码交互(例如使用来自 Angular 复杂对象),您将为走这条路付出高昂的代价。当你想从 JS 调用一个或两个函数时,这条路线很有用,但除此之外我不推荐它。例如,您可以在 http://www.gwtopenlayers.org/ 查看 gwt-openlayers 的源代码。看看它看起来像一个更复杂的例子(这个库包装了很多原生 JS)

  1. 我真的不知道任何 Angular,但是 .ui.xml 是一个特殊的野兽。在后台发生了一些混淆/发生了一些其他事情。最接近 HTML 的方法是将一些内容放入 g:HTMLPanel 小部件中,但据我所知,您实际上不能在其中放置 JS。
  2. 有点混淆你在这里问的问题。除非您坚持,否则您不能轻易地从服务器端 servlet 调用任何客户端代码;然后,您可以采取变通办法并使用长轮询等技术,但我不太喜欢这些技术。我可以就这个主题展开更多讨论,但我似乎对你的观点缺乏理解。

关于javascript - 集成 GWT 和 angular2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43887184/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com