vue.js的学习笔记2

Vue的computed属性

Vue中的 computed 属性称为 计算属性,计算属性可用于快速计算视图( View )中显示的属性。这些计算将被缓存,并且只在需要时更新,引用计算属性时不要加  () ,应当普通属性使用。

例:

computed:{
getTime2:function () {
return new Date();
}
},

 效果如图:将计算值进行了缓存,直接使用,所以输出值不变。

 

Vue的watch属性

当watch属性监听的属性值改变时,调用watch的方法,

例:

watch:{
            result:function (newValue,oldValue) {
     console.log(oldValue);
            }
       }

  其中,newValue,oldValue分别是改变前的值和改变后的值。

Vue改变样式

先将某些样式与class绑定。

1.当temp=true时,将使用名叫yellow的class,否则不使用yellow作为class。

<div v-bind:class="{yellow:temp}"  class="mydiv"></div>

 2.将是否使用某class的信息保存在computed中,然后在标签中与其绑定。

 <div :class="myClassSytle" class="mydiv"></div>
 computed:{
            myClassSytle:function () {
       return{
           yellow:this.temp,
           mywidth:this.temp,
       };
            }
     }

 3. 也可将样式信息保存到data中,然后在标签中与其绑定。

<div :class="mycolor" class="mydiv"></div>
data:{
            temp:false,
         mycolor:'blue'
     }, 

也可绑定多个class,以数组形式绑定。

<div :class="[mycolor,mv]"  class="mydiv"></div>

 这为标签绑定了mycolor,mv两种class,对应两个样式。

 4.也可以跳过样式与class的绑定,直接设置标签的样式:

<div :style="[{backgroundColor:mycolor},{height:myheight+'px'}]"  class="mydiv"></div>
 data:{
            temp:false,
         mycolor:'blue',
         mv:'mywidth',
         mycolor:'green',
         myheight:600,
     },

 使用:style可以直接设置标签的背景颜色为mycolor的值,高度为myheight。

也可以直接设置和computed混合使用,如:

computed:{myStyle:function () {
       return{
           backgroundColor:this.mycolor,

       };
         }
     }
<div :style="[myStyle,{height:myheight+'px'}]"  class="mydiv"></div>

 Vue的v-if

这个的使用和其他语言的if语句差不多,就不赘述了。

例:

<div v-if="temp">120</div>
    <div v-else-if="temp1">2984</div>
    <div v-else="temp">22222</div>
data:{
temp:false,
temp1:false,
},

 值得一提的是v-showv-show,如果条件为false,运行后,还是生成了条件为false所在的标签,但是只是让其display属性为none,即该标签不进行显示。

 Vue中的循环语句

vue中的循环语句和其他编程语言不同,但是和matlab比较类似

模板为:

{{each list as value index}}
<li v-for="(a,i) in args" :key="i">  {{i}}-----{{a}}</li>
data:{
args:[1,2,3,4,5,6,],
},

  其中 a为迭代的每位的值,i是迭代的下标。

也可以这样使用:

<li v-for="student  in students">
        <span v-for="(v,k,i)  in student">{{v}}--{{k}}--{{i}}</span>
    </li>
students: [
{
name: 'xiaoming',
age: 17,
},
{
name: 'xiaoming',
age: 17,
},
],
 

 结果如下:

 

posted @ 2020-11-20 17:11  第十八使徒  阅读(71)  评论(0)    收藏  举报