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