我正在学习单页应用程序并在阅读文档本身之后
我想知道单页应用程序模式只是 Web 应用程序中的一个页面(例如:html 页面),使用带有外部模板的淘汰赛?
我的意思是(我正在使用 MVC):
-mywebsite
+ some js files
+ some css files
+ index.html
+ controllers
+ models
我希望有人可以为我解释更多关于这种模式的信息。谢谢。
我正在学习单页应用程序并在阅读文档本身之后
我想知道单页应用程序模式只是 Web 应用程序中的一个页面(例如:html 页面),使用带有外部模板的淘汰赛?
我的意思是(我正在使用 MVC):
-mywebsite
+ some js files
+ some css files
+ index.html
+ controllers
+ models
我希望有人可以为我解释更多关于这种模式的信息。谢谢。
是的,您通常有一个 HTML 页面充当“外壳”,其中包含加载到该“外壳”中的信息视图。JavaScript 文件充当调用以获取此数据、解析数据并将模板应用于数据的媒介。模型、控制器等允许对 JavaScript 结构采用模块方法,而不是意大利面条式 JavaScript 代码。CSS 的用途与往常一样。
在我看来,这就是大约 10 年前纯 AJAX 应用程序的意图,其中将加载单个页面,然后仅对服务器的请求或服务将加载数据,仅执行部分页面更新而不是回发到服务器呈现(或重新呈现)页面(就像 WebForms 一样)。
更新:
单页应用程序:KnockoutJS 模板包含 KnockoutJS,但还有其他选项,如了解 Knockout 以外的库?,它以网格的形式列举了每个模板的特征,以便于查看。
实际上,您可以将应用程序分成一组 html 文件和 java 脚本文件。单页应用程序应该拥有的是在不刷新浏览器的情况下完成所有应用程序的工作。您可以在需要时延迟加载视图 (html) 和 JavaScript。我认为您可以从模板或示例开始了解它。你可以从约翰爸爸那里得到更多的细节
这里有一些支持 SPA 的框架
http://durandaljs.com/
http://www.asp.net/single-page-application/overview/introduction/knockoutjs-template
单页应用程序通常以单页的形式提供一个 shell,它调用 ajax 调用来提供功能。关键思想是,shell 不会刷新为整个页面,而是通过针对 shell 子部分的 ajax 调用来刷新内容。这种模型的一个好处是用户不必处理刷新整个页面和丢失客户端状态的破坏性用户体验。
Knockout 当然可以用作您设计的一部分,但它不是模式的直接部分。