【问题标题】:What mechanism is used to update the view with angular mvvm pattern?使用 Angular mvvm 模式更新视图的机制是什么?
【发布时间】:2016-09-23 03:31:39
【问题描述】:

我正在研究一个网络项目,想决定是使用 jquery+signalr 还是 Angular 及其 mvvm 模式来实现服务器和客户端之间的实时通信。

我发现,SignalR 尝试在服务器和客户端之间建立 websocket 连接。如果这不起作用,则改用 HTML-longpolling 或 ForeverFrame。 这种行为非常好。

但如前所述,我也在关注 Angular。它绝对是 jQuery 的相关替代框架(从我的角度来看)。 由于我对 C# 和 WPF 有一定的经验,因此我熟悉 mvvm 模式。 但是我无法弄清楚Angular使用什么机制(websockets,longpolling,...)确实将数据从服务器发送到其客户端的视图元素,这些元素在数据已更改的视图模型上具有数据绑定。

感谢您对此问题的任何提示或完整答案 :) 非常感谢。

【问题讨论】:

标签: html angularjs mvvm angular websocket


【解决方案1】:

Angular2 用于构建应用程序,这些应用程序完全在客户端运行。 在浏览器、移动应用(使用 nativescript)或桌面应用(使用电子)中。

模型、视图和控制器在客户端..

如果你想与后端服务器通信,你必须使用 http 请求,或者实时你甚至可以使用 SignalR 或 socket.io..

没有内置支持。

【讨论】:

  • 感谢您的回答。这消除了我对 mvvm 模式实际解决的缺乏感觉。我现在将继续研究与 jQuery 和 SignalR 相比,Angular 和 SignalR 的组合。
【解决方案2】:

SignalR 为您提供了一个基础设施,您可以将消息从服​​务器发送到客户端以及从客户端发送到服务器。 “限制”是您必须在 C#.NET 中编写服务器部分。但客户端可以是 C#(WPF、Winforms、..)、Java 或 Javascript 客户端。

如果你打算用 AngularJS 编写你的应用程序,有一个 angularjs 模块可以为你做一些工作: https://github.com/JustMaier/angular-signalr-hub

如果您计划的应用程序仅更新用户输入数据,则不需要 signalR。但是,如果您需要服务器推送(意味着如果您正在编写一个在服务器上的事件上更新客户端数据的应用程序),您可以使用 signalr。

【讨论】:

    猜你喜欢
    • 2018-06-30
    • 2010-11-22
    • 1970-01-01
    • 2015-06-14
    • 1970-01-01
    • 2012-05-01
    • 2017-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多