知识共享许可协议

San 3.3.0 发布

San

先不要脸的求关注

主要升级点如下:

  • 【新特性】- 支持 template tag 声明自身不渲染元素只渲染内容
  • 【新特性】- 事件声明参数为空时,默认 $event
  • 【新特性】- 支持通过 native modifier,直接为组件的根元素绑定事件
  • 【新特性】- 支持通过 capture modifier,在捕获阶段绑定事件
  • 【新特性】- 支持 scoped slot
  • 【新特性】- 支持 transition 机制
  • 【新特性】- slot 支持 if 和 for 指令
  • 【新特性】- 组件实例上添加 slot 方法,可以获取组件内部 slot 插入的内容
  • 【新特性】- 组件实例上添加 nextTick 方法,避免组件实现需要 nextTick 必须显式依赖 san
  • 【新特性】- main 上暴露 NodeType 枚举对象
  • 【变更】- parseTemplate 的 ANode 去除 parent 的引用。消除循环引用后可以 JSON.stringify
  • 【变更】- ANode 上子节点命名由 childs 变更为 children
  • 【变更】- 组件 LifeCycle 对象静态化,main 上不再暴露 LifeCycle 类
  • 【优化】- data 的 push 和 unshift 操作返回新数组长度,和 JS Array 保持一致
  • 【优化】- 增加事件绑定到不存在方法时的错误提示
  • 【优化】- 当数组上有非数字索引的成员并发生变更时,添加判断使视图更新时不报错,增加健壮性
  • 【bug修复】- ssr 在多重循环下可能渲染不完整
  • 【bug修复】- input[type=file] 的 multiple 属性由于低级的拼写问题导致不支持
  • 【bug修复】- input value 使用双向绑定时,如果绑定值为 undefined,表单内容未自动转为空串

原定 3.3.0 的完成时间是11月底,我们赶在11月最后一天晚上发布,这充分说明我们有 精雕细琢的工匠精神 拖延症。

到此应该可以结束了。不过好像少了点什么,所以随便说点东西吧。

阅读全部

San - 一个传统的MVVM组件框架

这一年多来,其实受到过不少质疑,比如“咦,你们又在发明轮子了?”。每当此时我只能嘿嘿嘿一笑,毕竟你做的东西看起来还只是个垃圾而已,而看起来我们有很多成熟的东西可以选了:VueReactAngularPolymer等等。在今天,我们觉得 San 经过了一些项目的验证(踩坑)和进化(填坑),能够出来见人时,我们打算出来说说为啥要造轮子,造的是个啥样的轮子。

根据厚脸皮的惯例,先求Star。接下来是广告,可能你能从广告里得到一点启发。

为什么要做 San

MVVM 并不是什么新鲜事物,在 Web 上的应用我们也远不是先驱。从几年前,我们有些团队在 Angular1 开始一些实践,也有些团队接触了 React,但是让我印象最深刻的还是 Vue,并不是因为多高深的技术,而是因为真的“好用”。我们在一些要求不那么高(兼容性、性能等)的应用中实践一些流行技术,并享受一些便利。将近2年前,我们对实践过的东西进行了一些总结,有些东西已经比较常识了:

  • 组件化
  • 声明式视图
  • view=f(data)
  • 数据到视图的渲染引擎
  • 异步渲染
  • ......
阅读全部