avalonjs学习笔记(四)

四,一些特殊的绑定

1ms-if

我不知道这个设计是用来做什么用的,我看的结果就是显示隐藏用,当绑定的值不是true的时候,这个标签就不会被显示出来

2ms-visible

貌似这个才是真正显示隐藏用的,跟ms-if的差别,貌似很深奥,表示不懂。

3,循环绑定

循环有两种,一个使用ms-each-item

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>ms-if</title>
    <script t src="avalon.modern.min.js"></script>
</head>
<body ms-controller="test">
 
<ul ms-each-item="array">
    <li ms-click="$remove" ms-if="$index % 2 == 0">{{ item }} --- {{$index}}</li>
</ul>
 
 
<script type="text/javascript">
 
    avalon.define({
        $id: "test",
        array: "a,b,c,d,e,f,g".split(",")
    });
 
</script>
</body>
</html>

ul标签设置了ms-each-item,然后这个标签里面的东西就会被按照array的数量进行重复。

itemarray里的每个项的值。这个是可以指定的ms-each-abc的话,abc就代表了这个值。如果不写,el代表了这个值

$index就是array的索引。

第二种方法是ms-repeat,貌似和ms-each用法完全一样。。。

貌似执行顺序会不一样,但是,现在不用太关心吧

4ms-duplex

这个就是用来绑定输入框什么的,做到界面输入了后台就可以改,然后后台变了就可以显示到画面上。叫双向绑定比较好?

还有一些辅助的属性,比如

        <input type="text" ms-duplex="propertya" data-duplex-event="change"/>
        <input type="text" ms-duplex="propertya"/>

有data-duplex-event为change的话,就是要回车才变化

不加的那个,只要一改就变化

5ms-cssms-attr

这两个貌似就是用来替代csshtml里原生属性的,用这个,就可以用viewmodel来绑定样式什么的

比如

Html

<table ms-controller="tablevm" ms-attr-border="{{borderthickness}}">
    <tr>
        <td style="background-color: red" ms-css-background-color="background">Row 1, cell 1</td>
        <td>Row 1, cell 2</td>
    </tr>
    <tr>
        <td>{{borderthickness}}</td>
    </tr>
</table>


viewmodel:

        avalon.define("tablevm",function(ob){
            ob.borderthickness=2,
            ob.background="blue"
        })

 

tableborder用的就是通过ms-attr绑定到viewmodelborderthickness

然后第一个单元格的background-color绑定到viewmodelbackground

6,事件的绑定

就是什么onclick之类的,全都有对应的ms-xxx,用来绑定viewmodel里的方法。

例如:

<button ms-click="click"/>

然后viewmodel是这样的

        avalon.define("myvm",function (ob){
            ob.visible=false,
            ob.click=function(){
                ob.visible=!ob.visible
            }
        })


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值