Ruby's Louvre

每天学习一点点算法

导航

我的MVVM框架 v3教程——集合处理

avalon的一个理念是,操作数据即操作DOM。这是集合处理中表现最明显。

涉及到each绑定,及集合访问器的一系列方法。

            <p data-each-method="methods"><span data-text="method"></span>,</p>
        <hr/>
        <ul data-each-el="list">
            <li>
                <span data-text="el.title"></span>
                <button type="button" data-on-click="remove">移除</button>
            </li>
        </ul>
            require("avalon,ready", function($) {

                var $$ = $.MVVM

                var VM = $$.toViewModel({
                    methods: ["push","unshift","sort","reverse",
                        "shift","pop","splice","remove","removeAt","erase","clear"],
                    list:[{
                            title:"aaa"
                        },
                        {
                            title:"bbb"
                        },
                        {
                            title:"ccc"
                        },
                        {
                            title:"ddd"
                        }
                    ]
                });
                VM.remove = function(e){
                    VM.list.erase(e && e.target)
                }
                $$.render(VM)
          
                setTimeout(function(){
                    VM.list.push({
                        title:"push"
                    })
                },1000)
                setTimeout(function(){
                    VM.list.unshift({
                        title:"unshift"
                    })
                },1500)
                setTimeout(function(){
                    VM.list.splice(1,3,{
                        title:"1111"
                    },{
                        title:"2222"
                    },{
                        title:"3333"
                    })
                },2000)
                setTimeout(function(){
                    VM.list.reverse()
                },2500)

            })
示例

,


posted on 2012-12-17 14:17  司徒正美  阅读(1079)  评论(0编辑  收藏  举报