轻量响应式js插件avalon

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="js/avalon.js"></script>
</head>

<body>
    <div ms-controller="test">
        <div>
            <label>用户名</label>
            <input type="text" :duplex="@data.uName">
        </div>
        <br>
        <div>
            <label>密码</label>
            <input type="text" :duplex="@data.pWd">

        </div>
        <br>
        <div>
            <label>年龄</label>
            <input type="text" :duplex="@data.age">
        </div>
        <br>
        <div>
            <label>爱好</label>
            <select :duplex="@data.hobby">
                <option value="volvo">Volvo</option>
                <option value="saab">Saab</option>
                <option value="opel">Opel</option>
                <option value="audi">Audi</option>
            </select>
        </div>
        <br>
        <button :click="@readData">vm查看组件data</button>
        <button :click="@upDate">vm修改年龄为105</button>
        <button onclick="useVmMethod()">js查看组件data,并修改年龄为106</button>
    </div>
</body>
<script>
    // 内部调用
    var vm = avalon.define({
        $id: 'test',
        data: {
            uName: 'sang',
            pWd: '123',
            age: 24,
            hobby: 'audi'
        },
        readData: function () {
            console.log(vm.$model.data)         // 成功
            console.log(vm.data)                // 成功
            alert(typeof vm.$model.data.age + "--" + typeof vm.data.age)
        },
        // 修改数据
        upDate: function () {
            vm.$model.data.age = 105            // 失败
            vm.data.age = 105                   // 成功
        }
    })
    // 外部调用
    function useVmMethod() {
        console.log(vm.$model.data)             // 成功
        console.log(vm.data)                    // 成功
        vm.data.age = 106                       // 成功
    }
</script>

</html>
posted @ 2018-05-27 19:21  最好的年纪  阅读(170)  评论(0编辑  收藏  举报