直接给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查询数据库的优化
- 下一篇: 浅谈代码提高运行效率的问题