avalon视频学习笔记(二)

一、数据填充

含义:将数据打印到页面上,通过绑定属性,将页面变成动态模版

1、插值表达式 {{prop}},{{prop | html}}定界符及自动配置

含义:{{prop}}是对某一文本节点的nodeValue进行修改,因此不会影响兄弟节点,{{prop}}只是表示这个地方可以被替换,在avalon中,它只在文本节点中有效,它不能替换属性节点里的名字,特性节点的名字必须以ms-开头。

a、{{prop}}

  1. <head>
  2. <meta charset="UTF-8">
  3. <title>avalon-prop</title>
  4. <script type="text/javascript" src="../avalon.min.js"></script>
  5. <script>
  6. avalon.ready(function () {
  7. avalon.define({
  8. $id:"test",
  9. word:"Hello avalon"
  10. })
  11. avalon.scan();
  12. })
  13. </script>
  14. </head>
  15. <body>
  16. <div ms-controller="test">
  17. {{word}}
  18. </div>
  19. </body>

*在avalon还没没有加载完成,但是html文件已经绚烂完毕,导致{{word}}暴漏,应该怎么处理?

  1. <style>
  2. .ms-controller{
  3. visibility:hidden;
  4. }
  5. </style>

引用样式,可以正常显示。

*插值表达式,是不可设置元素属性的。

b、{{porp | html}}对加载的值进行过滤。

c、修改插值表达式界定符

当{{}}双尖括号被占用时,就可以通过修改config方法,进行修改。建议界定符的长度          大于1,不要设置为<<>>这样的位操作符。比如在DOMReady之前,调用如下语句:

  1. avalon.config({
  2. interpolate:["[","]"]
  3. })
  1. <head>
  2. <meta charset="UTF-8">
  3. <title>avalon-prop</title>
  4. <script type="text/javascript" src="../avalon.min.js"></script>
  5. <script>
  6. avalon.config({
  7. interpolate:["[[","]]"]
  8. })
  9. avalon.ready(function () {
  10. avalon.define({
  11. $id:"test",
  12. word:"Hello avalon"
  13. })
  14. avalon.scan();
  15. })
  16. </script>
  17. </head>
  18. <body>
  19. <div ms-controller="test">
  20. [[word]]
  21. </div>
  22. </body>

2、绑定属性 ms-text,ms-html,ms-value

a、ms-test

含义:ms-text是文本绑定属性,会清空元元素的内部再进行内部填充。ms-text其实就是{{prop}}的真身,框架内部都是走同一处理函数,ms-text作为一个绑定属性,必须附于元素节点之上,因此没有前者那么方便

  1. <head>
  2. <meta charset="UTF-8">
  3. <title>avalon-prop</title>
  4. <script type="text/javascript" src="../avalon.min.js"></script>
  5. <script>
  6. avalon.ready(function () {
  7. avalon.define({
  8. $id:"test",
  9. word:"Hello avalon"
  10. })
  11. avalon.scan();
  12. })
  13. </script>
  14. </head>
  15. <body>
  16. <div ms-controller="test" ms-text="word"></div>
  17. </body>

b、ms-html

含义:ms-html是html绑定属性,会清空原元素的内部,再进行内部填充。ms-html其实就是{{  porp | html }}的真身,框架内部都是走同一处理函数,ms-html作为一个绑定属性,必须附于元素节点之上,因此没有前者那么方便。

  1. <head>
  2. <meta charset="UTF-8">
  3. <title>avalon-prop</title>
  4. <script type="text/javascript" src="../avalon.min.js"></script>
  5. <script>
  6. avalon.ready(function () {
  7. avalon.define({
  8. $id:"test",
  9. word:"<p>Hello avalon<p>"
  10. })
  11. avalon.define({
  12. $id:"test2",
  13. word:"<p>Hello avalon</p>"
  14. })
  15. avalon.scan();
  16. })
  17. </script>
  18. </head>
  19. <body>
  20. <div ms-controller="test" ms-text="word"></div>
  21. <div ms-controller="test2" ms-html="word"></div>
  22. </body>
  23. </html>

两者的区别就是:

text会将存储的字符串,当成text文本原样输出。

html会将存储的字符串,当成html文本元素输出。

c、绑定属性ms-value

含义:用过ms-value指令,数据能通过表单元素的value值显示出来。ms-value为了应对复杂的显示,也支持插值表达式,但里面不能用过滤器。

  1. <head>
  2. <meta charset="UTF-8">
  3. <title>avalon-prop2</title>
  4. <script type="text/javascript" src="../avalon.min.js"></script>
  5. <script type="text/javascript">
  6. avalon.ready(function () {
  7. avalon.define({
  8. $id:"text",
  9. text:‘111‘
  10. })
  11. avalon.scan();
  12. })
  13. </script>
  14. </head>
  15. <body>
  16. <div ms-controller="text">
  17. <input type="text" ms-value="text">
  18. <textarea name="" id="" cols="30" rows="10" ms-value="xxx{{text+‘!!!‘}}yyy"></textarea>
  19. </div>
  20. </body>

3、过滤器 html、uppercase、lowercase、truncate、camelize、escape、currency、number、date多过滤器协同工作,自定义过滤器

来自为知笔记(Wiz)

时间: 2024-08-27 14:05:11

avalon视频学习笔记(二)的相关文章

Spring视频学习笔记(二)

Spring视频学习笔记(二) XML配置里的Bean自动装配(三个来测试实现) /** * Person类 * */ public class Person { private String name; private Address address; private Car car; public String getName() { return name; } public void setName(String name) { this.name = name; } public Ad

avalon视频学习笔记(四)

二.显示隐藏处理 含义:效果类似于jquery的toggle,如果它后面跟着的表达式为真值时则显示它所在的元素,为假值时则隐藏. <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus?"> <meta name="Author" content=""> <meta n

avalon视频学习笔记(一)

一.禁用加载器     方法一:在js文件中书写 avalon.config({ loader: false }) 方法二:在avalon源文件中添加 avalon.config({ loader: false }) 方法三:在源文件中删除amd加载器 二.作用域绑定 含义:作用域范围圈定,在一个页面中需要形成多个模块,每个模块需要实现不同功能. 1.ms-controller 可以互相嵌套的作用域 含义:在页面上表现为一个特殊属性,其属性值为ViewModel的$id,表现将在此元素或者其子孙

avalon视频学习笔记(三)

一.双向同步,双向绑定ms-duplex     含义:ms-duplex实现了双向数据绑定.双向绑定通俗说,除了负责将ViewModel中的应的值放到表单元素的value中,还对表单元素偷偷绑定一些事情,用于监听用户的输入从而自动刷新ViewModel. 使用场景一: 当元素为text.password.textaera时,要求prop为一个字符串,当我们改动它的内容时,avalon就会将此元素的value值赋给prop. <head> <meta charset="UTF-

avalon视频学习笔记(六)

一.数据缓存     1.绑定属性ms-data-* avalon的数据缓存功能与jquery的data()类似,但不同于jquery的是:avalon是直接将数据保存在元素节点上的data-*属性上. 在从data-*属性还原数据时,它会作简单的数据转换,再返回. 在ms-data绑定属性中,对象与数组是直接保存在元素节点上. <head> <meta charset="UTF-8"> <meta name="Generator" c

avalon视频学习笔记(七)

一.属性操作     DOM操作之属性操作: 1.类名操作<div class="active">    ms-class (1)ms-class a.ms-class="active"    默认写法,为元素添加active样式 b.ms-class="active:isOk"    isOK值为true,添加active,为false,删除active c.ms-class="width{{w}}:isOK" 

avalon视频学习笔记(五)

一.插入移除处理     1.绑定属性ms-if a.当ms-if的值为真(true)时,就将元素输出到页面里面. <div ms-controller="text"> <div ms-if="true"> 根据条件显示内容 </div> </div> <div avalonctrl="test"> <div> 根据条件显示内容 </div> </div&g

老男孩视频第二部视频学习笔记(第二部)之一:命令(1)

命令:chkconfig  cat ls tail ln find wc tar cut grep egrep 一.如何过滤出已知当前目录下的所有一级目录 如何区分目录和文件:   1.利用颜色(这个依赖与CRT等工具)   2.利用 开头字母 · ls –l | grep ^d (正则表达式中一个字符 在[]中是非,在[]外面就是以什么开头) · ls –lF | grep / · ls –lF | grep /$  小结: 1.通过ls –l 以长格式显示文件属性,然后过滤以d开关的行,就是

老男孩培训视频听课笔记二(在51cto上听的)

centos 5.8 文本安装过程    引导采用默认,引导不用设置密码    网络配置,根据实际情况配置,网关是网络出口的地址,一般为wlan出口的路由器的地址或者是代理服务器的内网IP    DNS简单解说图:      主机名--时区--root密码    选择自定义系统安装包--最小化(安全方便工作,建议安装以下的组)      ·base-- 基础      ·editors-编辑器      ·development librarays--开发库      ·development