当前位置: 首页 > 软件库 > Web应用开发 > Web框架 >

SPA

路由控制和视图转换框架
授权协议 MIT
开发语言 JavaScript
所属分类 Web应用开发、 Web框架
软件类型 开源软件
地区 国产
投 递 者 白学
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

概述

SPA是为构建WebApp设计的路由控制和视图转换框架

SPA专注于解决构建WebApp时遇到的共性问题,尤其适用于构建MobileApp, 我们和jQuery MobileSencha Touch等框架不同, 并不是一个构建移动端应用的前端整体解决方案,所以我们不包含UI组件,如果你不想自己设计界面, 可以用BootstrapTopcoat等UI Components框架配合SPA, 来快速构建你的WebApp;

SPA依赖jQueryZepto, 并且每个视图可以通过RequireJSSea.js等CommonJS解决方案或者自定义的方式进行模块化组织、异步加载;

SPA支持移动端和桌面端的现代浏览器;

为什么使用SPA

提供快速的开发实现

你可以像开发传统网站一样,先设计并制作每个视图,比如页面、导航、对话框等等,然后通过SPA提供的接口把每个视图拼装组织,完成一个拥有NativeApp体验的WebApp;

保留更大的设计自由度

SPA相对于jQuery Mobile和Sencha Touch等框架,SPA是非常轻量级的,我们只关心并解决WebApp的路由控制和视图转换等共性问题,每个场景被模拟成一个节点,场景内的具体界面和交互设计完全交给开发者;

减少后端依赖

视图的渲染和路由是在前端完成的,后端只需要提供一个简单的入口页面(Single-page application)和应用所需的异步数据接口;如果再配合使用javascript模版,还可以最大化的利用前端缓存,减少网络流量请求;

事件驱动

SPA不提供类、对象或函数库,利用jQuery的自定义事件和事件代理,SPA的接口都绑定到DOM上,所有的操作都是触发相关DOM上的自定义事件,将各个视图的代码解耦隔离,降低开发复杂度,这个特性和Flight框架一致。 

  • 一. 什么是SPA? SPA(single-page application),翻译过来就是单页应用。 SPA是一种特殊的web应用。将所有的活动局限于一个Web页面中,仅在该Web页面初始化时加载相应的HTML、JavaScript和CSS。 一旦页面加载完成,SPA不会因为用户的操作而进行页面的重新加载或跳转。取而代之的是利用JavaScript动态的变换HTML的内容, 从而实现UI与用户的

 相关资料
  • 使用vue 2、vue路由器2和vuex 2构建单页应用程序,但不更新 /src/main。js /src/路由器/索引。js /src/路由器/路由。js /src/store/index。js /src/view/index。vue /src/App。vue 我不知道代码有什么问题,

  • 问题内容: 一个单例控制器是否可能具有多个视图 [https://github.com/angular-ui/ui- router/issues/494] ? 用例:我有一个ui-view = header和ui-view = content。我根据当前状态更改标题以显示上下文相关的按钮(即返回,保存,过滤等)。我希望这些按钮在内容控制器中调用一个函数,但是如果执行以下操作,它将创建两个MyCon

  • 本文向大家介绍angular中使用路由和$location切换视图,包括了angular中使用路由和$location切换视图的使用技巧和注意事项,需要的朋友参考一下 我们可以利用angular的$route服务来定义这样一种东西:对于浏览器所指向的特定URL,angular会加载并显示一个模板,并实例化一个控制器为模板提供内容。 在应用中,你可以通过调用$routeProvider服务上的函数来

  • 我想做的是: 由父视图控制器管理的父视图不应旋转。 由子视图控制器管理的子视图应该旋转到所有方向。 我所尝试的: 家长视图控制器 儿童视图控制器 Xcode部署信息中支持的方向设置为所有四个。 我得到的: 没有视图的旋转。如果将父视图的旋转设置为“全部”,则所有视图将一起旋转。所以要么全有要么全无。 更新 当我尝试放置UIDeviceOrientationIDChangeNotification的

  • 类: BrowserView 创建和控制视图 注意: BrowserView API目前为实验性质,可能会更改或删除。 进程:主进程​ BrowserView是 webview的替代标签,就像是子窗口一样让某个 BrowserWindow嵌入更多的Web内容. 例子 1 // 主进程中 2 const {BrowserView, BrowserWindow} = require('electron

  • 本文向大家介绍Laravel框架路由和控制器的绑定操作方法,包括了Laravel框架路由和控制器的绑定操作方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Laravel框架路由和控制器的绑定操作方法。分享给大家供大家参考,具体如下: 路由和控制器的关系 路由文件地址在\app\Http\routes.php,我们来看两种不同的路由。 以上均为绑定匿名函数的路由,虽然可以返回视图,也可以

  • 我们在前面的一小节介绍了一个简单的 Flask 程序是怎么运行的。其中,有三行代码,我们并没有深入讲解。在这里,我们就对它们进行深入解析。回顾这三行代码: @app.route("/") def hello(): return "Hello World!" 这三行代码的意思就是:如果浏览器要访问服务器程序的根地址(”/“),那么 Flask 程序实例就会执行函数 hello() ,返回『H

  • 问题内容: 我想使用在视图中定义的一个控制器,但是没有定义任何东西。有没有办法做到这一点?请分享一个简单的例子以了解。 我有这个index.html 这是我的模型定义 app.js 控制台为空,并且html模板中的作用域为空。如果您有解决方案,请使用非常简单的示例。 我在这里阅读,我认为它起作用Rakrap Jaknap于2015-04-17 08:01回答 问题答案: 这里的重点是: 控制器始终