San

MVVM 的组件框架 San

MIT
跨平台
百度
2018-01-16
局长

San 是一个 MVVM 的组件框架。它体积小巧(12K),兼容性好(IE6),性能卓越,是一个可靠、可依赖的实现响应式用户界面的解决方案。

San 具有以下特性

San 通过声明式的类 HTML 视图模板,在支持所有原生 HTML 的语法特性外,还支持了数据到视图的绑定指令、业务开发中最常使用的分支、循环指令等,在保持良好的易用性基础上,由框架完成基于字符串的模板解析,并构建出视图层的节点关系树,通过高性能的视图引擎快速生成 UI 视图。San 中定义的数据会被封装,使得当数据发生有效变更时通知 San 组件,San 组件依赖模板编译阶段生成的节点关系树,确定需要变更的最小视图,进而完成视图的异步更新,保证了视图更新的高效性。

组件是 San 的基本单位,是独立的数据、逻辑、视图的封装单元。从页面角度看,组件是 HTML 元素的扩展;从功能模式角度看,组件是一个 ViewModel。San 组件提供了完整的生命周期,与 WebComponent 的生命周期相符合,组件间是可嵌套的树形关系,完整的支持了组件层级、组件间的通信,方便组件间的数据流转。San 的组件机制,可以有效支撑业务开发上的组件化需求。

San 支持组件反解,以此提供服务端渲染能力,可以解决纯前端渲染导致的响应用户交互时延长、SEO 问题。除此之外,San 还提供了一些周边开源产品,与 San 配合使用,可以帮助开发者快速搭建可维护的大型 SPA 应用。

现在,我们从一些简单的例子,开始了解 San。这些例子可以从这里找到。

Hello

var MyApp = san.defineComponent({
    template: '<p>Hello {{name}}!</p>',
    initData: function () {
        return {
            name: 'San'
        };
    }
});
var myApp = new MyApp();
myApp.attach(document.body);

可以看到,通常情况实用 San 会经过这么几步:

  1. 我们先定义了一个 San 的组件,在定义时指定了组件的 内容模板 与 初始数据 。

  2. 初始化组件对象

  3. 让组件在相应的地方渲染

额外提示:在 JavaScript 中书写 HTML 片段对维护来说是不友好的,我们可以通过 WebPack、AMD plugin、异步请求等方式管理。这里为了例子的简单就写在一起了。

的码云指数为
超过 的项目
加载中
此软件有 14 条评论,请先登录后再查看。

San 3.9.0 发布,MVVM 组件框架

San 3.9.0 发布了。San 是百度开源的一个 MVVM 组件框架。它体积小巧(13K),兼容性好(IE6),性能卓越,是一个可靠、可依赖的实现响应式用户界面的解决方案。 此版本更新内容如下: 【新特...

06/25 07:01

San 3.8.3 发布,MVVM 组件框架

San 3.8.3 发布了。San 是百度开源的一个 MVVM 组件框架。它体积小巧(13K),兼容性好(IE6),性能卓越,是一个可靠、可依赖的实现响应式用户界面的解决方案。 新版更新内容如下: 【新特性...

05/09 07:27

San 3.8.1 发布,MVVM 组件框架

San 3.8.1 发布了。San 是百度开源的一个 MVVM 组件框架。它体积小巧(13K),兼容性好(IE6),性能卓越,是一个可靠、可依赖的实现响应式用户界面的解决方案。 新版更新内容如下: 【优化】...

01/19 07:24

San 3.7.8 发布,百度开源的 MVVM 组件框架

San 3.7.8 发布了,San 是百度开源的一个 MVVM 组件框架。它体积小巧(13K),兼容性好(IE6),性能卓越,是一个可靠、可依赖的实现响应式用户界面的解决方案。 新版更新内容如下: 【新特性...

2019/08/25 07:20

San 3.7.7 发布,百度开源的 MVVM 组件框架

San 3.7.7 发布了,San 是百度开源的一个 MVVM 组件框架。它体积小巧(13K),兼容性好(IE6),性能卓越,是一个可靠、可依赖的实现响应式用户界面的解决方案。 新版更新内容如下: 【新特性...

2019/07/02 07:11

San 3.7.5 发布,百度开源的 MVVM 组件框架

San 3.7.5 发布了,San 是百度开源的一个 MVVM 组件框架。它体积小巧(13K),兼容性好(IE6),性能卓越,是一个可靠、可依赖的实现响应式用户界面的解决方案。 新版更新内容如下: 【优化】...

2019/05/09 07:30

San 3.7.4 发布,百度开源的 MVVM 组件框架

San 3.7.4 发布了。San 是百度开源的一个 MVVM 组件框架。它体积小巧(13K),兼容性好(IE6),性能卓越,是一个可靠、可依赖的实现响应式用户界面的解决方案。 新版更新内容如下: 【新特性...

2019/04/10 06:49

San 3.7.3 发布,百度开源的 MVVM 组件框架

San 3.7.3 发布了。San 是百度开源的一个 MVVM 组件框架。它体积小巧(13K),兼容性好(IE6),性能卓越,是一个可靠、可依赖的实现响应式用户界面的解决方案。 新版更新内容如下: 【新特性...

2019/04/04 06:40

San 3.7.2 发布,百度开源的 MVVM 组件框架

San 3.7.2 发布了。San,是一个 MVVM 的组件框架。它体积小巧(13K),兼容性好(IE6),性能卓越,是一个可靠、可依赖的实现响应式用户界面的解决方案。 新版更新内容如下: 【优化】- 提升...

2019/02/09 06:35

San 3.7.1 发布,百度开源的 MVVM 组件框架

San 3.7.1 更新内容: 【新特性】- 组件初始化时 source 参数支持定义嵌入 slot 的内容 【优化】- 模板的 attribute name 允许 _ 字符 【bug修复】- IE8- 下,checkbox 和 radio 初始 checke...

2018/12/26 07:52

没有更多内容

加载失败,请刷新页面

暂无问答

San MVVM 框架 学习笔记

San 是百度开源的一个MVVM框架,兼容IE6,API文档地址:https://baidu.github.io/san/doc/api/ San的生命周期: compiled - 组件视图模板编译完成 inited - 组件实例初始化完成 created - 组...

2019/07/05 09:27
64
0
SAN协议

SAN(Storage Area Network的简称)直译过来就是存储区域网络,它采用光纤通道(Fibre Channel)技术,通过光纤通道交换机连接存储阵列和服务器主机,建立专用于数据存储的区域网络。SAN网络存储...

2014/11/24 14:23
51
0
SAN & NAS

工作中在存储这块接触到了这两个名词,特意查了一些资料,简要的总结一下。

2014/04/02 23:07
180
0
SAN网络

code:https://github.com/hszhao/SAN 它有后接线性映射以及非线性函数达成(即BatchNorm+ReLU)。 常规卷积通过固定核进行特征聚合,即全图权值共享,不会随特征内容而自适应变化,同时参数量...

05/11 11:50
33
0
存储SAN

存储技术介绍 DAS (direct attached storage) 直接连接存储--块级 SAN(storage area network) 存储区域网络--块级 NAS(network attached storage) 网络附加存储 Object storage 对象存储 sc...

2019/07/20 18:57
8
0
MVVM

MVVM官网(msdn) MVVM 的作者 John Gossman 的 批评 应该是最为中肯的。John Gossman 对 MVVM 的批评主要有两点: 第一点:数据绑定使得 Bug 很难被调试。你看到界面异常了,有可能是你 View...

2016/08/17 19:16
194
0
IP-SAN-iscsi

硬盘 (做raid ) --》 服务器     直连 硬盘 (做raid ) --》 服务器  网络 存储分类: DAS 直挂式存储(direct access/attach storage) 比如:机箱里的硬盘 NAS 网络附加存储(netw...

2018/06/19 22:17
13
0
架构-MVVM:MVVM核心概念

ylbtech-架构-MVVM:MVVM核心概念 1.返回顶部 1、 MVVM模式是Model、View、ViewModel的简称,最早出现在WPF,现在Silverlight中也使用该模式,MVVM模式是对MVC模式的变种。哪儿变了?我认为M...

2018/08/03 18:02
32
0
mvvm

模型,视图,视图模型 在vue中:Model:指的是js中的数据,如对象,数组等等。 View:指的是页面视图 viewModel:指的是vue实例化对象 主流框架实现双向绑定(响应式)的做法: 1. 脏值检查:a...

2019/12/28 17:02
40
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部