mood:
今天学的并不多,琐事比较多,而且因为睡眠不足的原因(当然不是因为学习),还有点神经衰弱的感觉
第一个点
数组的方法回顾,数组中有些方法可以是在Vue中直接响应出来的
/能做到响应式的方法 pop(); shift(); unshift(); splice(); sort(); reserve(); push();
而有些不可以,当在控制台进行改变数组时,页面不会及时进行响应
this.letters[0] = "bbb"; //数组发生改变,但并没有响应改变到浏览器
实例
做了一个根据鼠标点击相应文字变色的小实例
刚开始一直有问题,大体看代码也看不出,最后一个一个对才发现好多单词拼写的低级错误(该打)
因为颜色属性不是固定的,所以需要动态属性绑定class,也就造就了这么长的小li
<li v-for="(item, index) in movies" :class="{active: currentIndex === index}" @click="liClick(index)">
{{index}}.{{item}}
</li>
在methods中写方法点击事件让被点击的 li 的index值等于设定的currentIndex 值,也就是赋予红色的class属性,实现变色。
<style>
.active {
color: red;
}
</style>
</head>
<body>
<div id="app">
<ul>
<li v-for="(item, index) in movies" :class="{active: currentIndex === index}" @click="liClick(index)">
{{index}}.{{item}}
</li>
</ul>
</div>
<script src="./js/vue.js"></script>
<script>
const app = new Vue({
el: '#app',
data: {
movies: ['海王', '海贼王', '加勒比海盗', '海尔兄弟'],
// letters:['a','b','c','d']
currentIndex: 0
},
methods: {
liClick(index) {
this.currentIndex = index
}
}
})
</script>
就这一点点,路还很漫长,加油!