4

Angular 可以与 ui-router 一起定义状态以便在应用程序中移动。例如,当仍然在一个页面上时,您可以在页面的左侧有列表视图,而在右侧有详细视图。然后,每当您从左侧列表更改记录时,详细信息也会更改,但是您仍然在同一页面中。在 WebSharper 中是否也可以这样做,或者是否有任何其他选项可以处理这种情况?

此外,角度具有模板(和指令)的概念。这使得能够将原生 html 代码包装到模板中,并将其用作其他一些 html 页面中的指令的一部分。例如,可以使用像 select2 这样的 JavaScript 库。这在 WebSharper 中是否也可能,例如使用 select2 库?

4

1 回答 1

7

我对 Angular 不是很熟悉,但您列出的大多数功能都可以在 WebSharper 中作为扩展使用:WebSharper.UI.Next。您可以像描述的那样定义客户端路由。它也有模板,但它仍在进行中,所以还没有它的文档(但我们已经在我们的项目中积极使用它)。整个库旨在用于创建反应式单页应用程序,因此它可以作为 angular 的替代品(当然,不是那么广泛)。

至于模板:由于您使用 F# 编写代码,因此在 UI.Next 中实现了一个方便的 DSL 用于处理 HTML 组合器,因此您可以在 F# 中定义您的视图并在整个项目中重用它们,直到我们使模板更易于使用。

您可以使用外部库(如 select2),但它需要一些额外的工作,即为库定义类型(或至少是您想要使用的部分)。由于您正在编写 F# 代码,因此您需要知道事物的显式类型,因此您必须为处理这些类型的 JavaScript 库编写一个“绑定”。一方面它很棒,因为你现在有了类型,另一方面,对于大型项目来说它可能会变得相当乏味。查看WIG 文档,了解如何执行此操作的详细信息。

于 2015-08-25T15:01:15.870 回答