angularjs - WebSharper 与 Angular

标签 angularjs f# web-frameworks websharper

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

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

最佳答案

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

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

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

关于angularjs - WebSharper 与 Angular,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32009886/

相关文章:

angularjs - 如何调试 AngularJS 中的类型转换错误?

javascript - 无法获取独立范围的值

c - G-WAN 类似物

go - 处理表单提交后提供页面时出现空白页面或运行时错误

real-time - 对于高流量的Web应用程序,您将选择哪种实时框架?为什么?

JavaScript 显示模块模式公共(public)变量未更新

javascript - Angular 和 React 等语言的 SEO 现状?

f# - 如何使用FsUnit检查歧视工会的情况?

f# - 让的机制!在计算表达式中

.net - 使用 List.collect f#