<!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>