avalon2学习教程11数据联动】的更多相关文章

在许多表单应用,我们经常遇到点击一个复选框(或下拉框)会引发旁边的复选框(或下拉框)发生改变,这种联动效果用avalon来做是非常简单的.因为avalon拥有经典MVVM框架的一大利器,双向绑定!绝大部分的指令是从vm单向拍到页面,而双向绑定,则通过监听元素的value值变化,反向同步到vm中.如果没有这种机制,则需要引入额外的机制(flux云云)来处理此事. 在avalon中,双向绑定是由双工指设,ms-duplex实现的.这个指令在1.0中已经不断增强,到2.0,它的服务对象已经不局限于表单…
avalon2砍掉了不少功能(如ms-include,ms-data),腾出空间加了其他更有用的功能.数据验证就是其中之一.现在avalon2内置的验证指令是参考之前的oniui验证框架与jquery validation. avalon内置验证规则有 规则 描述 required(true) 必须输入的字段. email(true) 必须输入正确格式的电子邮件. url(true) 必须输入正确格式的网址. date(true或正则) 必须输入正确格式的日期.默认是要求YYYY-MM-dd这样…
数据填充是一个模版最基础的功能,直接从JSON(vm)取出数据,放到适当的位置上.在静态模板中,不区分文本与HTML,只看你的字符串是否有< >来决定生成文本节点与元素节点.但MVVM中,这两种是严格区分的.一般来说,我们只要求填文本,不要填HTML.填HTML有点危险! 在avalon1中,存在四种数据填充的手段 {{expr}}, {{expr|html}}, ms-text, ms-html 其实第一种与第三种一样,用于输出纯文本,第二种与第四种一样,如果用户的数据是一些HTML标签,那…
原文 ASP.NET MVC 5 学习教程:数据迁移之添加字段 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过控制器访问模型的数据 生成的代码详解 使用 SQL Server LocalDB Edit方法和Edit视图详解 添加查询 Entity Framework 数据迁移之添加字段 添加验证 Details 和 Delete 方法详解 在本节中,我们将使用Entity Framework Cod…
紧接上篇Tensorflow学习教程------tfrecords数据格式生成与读取,本篇将数据读取.建立网络以及模型训练整理成一个小样例,完整代码如下. #coding:utf-8 import tensorflow as tf import os def read_and_decode(filename): #根据文件名生成一个队列 filename_queue = tf.train.string_input_producer([filename]) reader = tf.TFRecord…
avalon2最引以为豪的东西是,终于有一套强大的类Web Component的组件系统.这个组件系统媲美于React的JSX,并且能更好地控制子组件的传参. avalon自诞生以来,就一直探索如何优雅的定义组件使用组件.从avalon1.4的ms-widget,到avalon1.5的自定义标签.而现在的版本恰好是它们的结合体,并从web component那里借鉴了slot插入点机制及生命周期管理,从react那里抄来了render字符串模板. 在avalon1.4中,ms-widget指令的…
avalon2的vm是一个非常重要的东西,其设计原型最初脱胎于knockout.js,但到avalon1.6中,终于寻得自己的方案,更精简,更易用,更魔幻. vm是一种特殊的数据结构,看起来像普通对象,但它大部分属性都被重写了,从而实现"操作数据即操作视图"的效果.我们在定义vm时,一般需要定义$id,其次是其他业务数据属性,它们都是来自后端的数据表.在1.4,1.5中,还有一个叫$skipArray的数组,用于方置一些只用同步一次视图的属性名,这是为了提高性能.因为将普通属性转换能同…
avalon是通过ms-repeat实现对一组数据的批量输出.这一组数据可以是一个数组,也可以是一个哈希(或叫对象).我们先从数组说起吧. 第二节就说,凡是定义在VM中的数组,如果没有以$开头或者没放在$skipArray数组里,都会转会监控数组.监控数组其实就是一个被重写了push.unshift.shift.pop. splice.sort.reverse方法的普通数组.当然它也添加了其他一些方法,如set. pushArray.remove.removeAt.removeAll.clear…
avalon的指令在上一节已经全部介绍完毕,当然有的语焉不详,如ms-js.本节主要总结我对这方面的思考与探索. MVVM的成功很大一语分是来自于其指令,或叫绑定.让操作视图的功能交由形形式式的指令来代劳.VM,成了一个大管家.它只一个反射体.我们对它的操作,直接影响到视图.因此俗称"操作数据即操作视图"!至于它是怎么影响视图,avalon视其版本的不同,也有不同的解法.如果抛开avalon,纵观世上所有MVVM框架,大抵有如下几种方式 函数wrapper:将原数据对象重新改造,所有属…
avalon2的循环指令的用法完全改变了.avalon最早期从knockout那样抄来ms-each,ms-with,分别用于数组循环与对象循环.它们都是针对元素内容进行循环.后来又从angular那里抄来了ms-repeat, 这是循环元素内部的. 到avalon2,这三个指令合并成一个ms-for指令 ,用法与angular更相似,但没有$index, $last, $first, $middle. 如果想得到数组元素或对象的键值,在in关键字前指定一个新变量 <div ms-for="…