avalon2学习教程05属性操作
avalon2与avalon1的属性操作虽然都是使用ms-attr,但用法完全不一样。
avalon1是这样操作属性的
< div ms-attr-aaa="a" ms-attr-bbb="b" ms-attr-ccc="b"></ div > |
其语法为
ms-attr-valueName= "vmProp" |
有多少个属性就写多个ms-attr-。其中不能省略。此外,还存在ms-title, ms-alt,ms-src, ms-href, ms-selected, ms-checked等等缩略写法。但估计很少人知道,到底哪些属性可以缩写,哪些不能。
avalon2从减轻用户的记忆出发,将你要操作的属性全部打包成一个对象,并规定,只能属性值才能使用@开头的vm属性。此外,avalon不存在ms-title这样的缩略写法。
< div ms-attr="{aaa:@a, bbb:@b+11, ccc: @fn(@d,@e)}"></ div > |
< div ms-attr="@attrObj"></ div > |
attrObj为vm的一个对象属性,但这个不太常用。
或者
< div ms-attr="[{@aaa:@a}, {bbb: @b}, @toggle ? {add:" 111"}:="" {}]"=""></ div > |
ms-attr直接对应一个数组。这个灵感是来自ReactNative的style指令,它们可以通过数组,传入多个样式对象…………
不过无论你怎么搞,最后你传的东西能保持avalon内部能将它变回一个对象就行了。
有时你的对象很长,需要换行,avalon2也是支持的,即便你写得像以下这么恶心,avalon2还是能认出来。
< xmp > <! DOCTYPE html> < html > < head > < title >TODO supply a title</ title > < meta charset="UTF-8"> < meta name="viewport" content="width=device-width"> < script src="./dist/avalon.js"></ script > < script > var vm = avalon.define({ $id: "test", title:111, src: "222", lang: 333 }) </ script > </ head > < body ms-controller="test" > < div aaa='ddd' bbb=333 ms-attr='{title: @title, ddd:@src, lang:@lang}' >{{ @src ? 333: 'empty' }}</ div > < input ms-duplex="@src"/> </ body > </ html > </ xmp > |
但为了性能起见,ms-attr最好还是保持在一行吧。
avalon2的ms-attr可以支持过滤器,但没有提供现成的过滤器,虽然用户进行编写。不过需要注意的是,这个过滤器要处理的是{title:'111',ddd: '222', lang:222}这样的对象,而不是一个字符串。比如我们要将需要个属性转换成日期格式,你可以在你的过滤器里调用avalon自带的date过滤器。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
2015-04-20 Node稳定性的研究心得
2012-04-20 mass Framework droppable插件
2010-04-20 高效地获取XMLhttp对象2
2010-04-20 (X)HTML+CSSのマークアップガイドライン