直接给vue数组赋值,无法渲染到页面
直接操作vm.passwordArr, 无法渲染, 需要设置theArr, 最后使vm.passwordArr=需要设置theArr
<div id="app"> <input maxlength="6" type="text" v-model="password"> <ul> <li v-for="(value, index) in passwordArr"> <span v-if="value">1</span> </li> </ul> <button v-on:click="showLi">渲染</button> </div>
<script>
var vm = new Vue({
el: "#app",
data: {
password: "",
passwordArr: [1,1,1,0,0,0]
},
methods: {
showLi: function() {
var theArr = [];
for (var i = 0; i < vm.passwordArr.length; i++) {
if (i<vm.password.length) {
theArr[i] = 1;
} else {
theArr[i] = 0;
}
}
vm.passwordArr = theArr;
}
}
})
</script>
错误示范:<script>
var vm = new Vue({
el: "#app",
data: {
password: "",
passwordArr: [1,1,1,0,0,0]
},
methods: {
showLi: function() {
var theArr = [];
for (var i = 0; i < vm.passwordArr.length; i++) {
if (i<vm.password.length) {
// 这样写是无效的
vm.passwordArr[i] = 1;
} else {
vm.passwordArr[i] = 0;
}
}
}
}
})
</script>声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: php查询数据库的优化
- 下一篇: 浅谈代码提高运行效率的问题
