美文网首页
前端小白学习Vue.js心得分享

前端小白学习Vue.js心得分享

作者: 南极小丑 | 来源:发表于2018-12-10 18:09 被阅读0次

一,计算属性Computed

我们的计算属性,和我们的方法很相似,但是我们的计算属性可以把复杂的东西更简单化,接下来就开始我们的计算属性,还是一样我们先在index.html里面把框架结构做好

<body>
<div id="vue-app">
       <button v-on:click="a++">Add to A</button>
       <button v-on:click="b++">Add to B</button>
       <p>A - {{a}}</p>
       <p>B - {{b}}</p>
   </div>
</body>

我们上面有两个<button>,当我们点击的时候,我们的<p>标签就会有对应的显示,我们现在来看看,计算属性和方法有什么不同,首先,我们在p标签下面在加两个p标签<p>age + A = {{agetoA}}</p><p>age + A = {{agetoB}}</p>,我们有了agetoAagetoB这两个方法,那我们就要实现这两个方法,我们在app.js里面写我们的方法

<body>
<div id="vue-app">
       <button v-on:click="a++">Add to A</button>
       <button v-on:click="b++">Add to B</button>
       <p>A - {{a}}</p>
       <p>B - {{b}}</p>
       <p>age + A = {{agetoA()}}</p>
       <p>age + B = {{agetoB()}}</p>
   </div>
</body>
new Vue({
    el:"#vue-app",
    data:{
           a:0,
           b:0,
           age:20
    },
     methods:{
          addtoA:function(){
               return this.a + this.age;
           },
           addtoB:function(){
             return this.b + this.age;
           }
     }
})

我们要的结果是,当我们点击Add to A的时候我们的A会变,我们的age + A也会变,我们现在写的是方法,无论我们点A也好还是B也好,他们都会执行,我们为了验证我们的说法,我们在控制台里面看看console.log("add to A")console.log("add to B")当我们进入到控制台我们会看到在我们没点的时候就已经显示了add to Aadd to B,当我们刷新之后再点击button我们会看到add to Aadd to B又出现了,这样的话是非常消耗性能的,但是我们computed是不一样的

new Vue({
    el:"#vue-app",
    data:{
           a:0,
           b:0,
           age:20
    },
     methods:{
          addtoA:function(){
               console.log("add to A");
               return this.a + this.age;
           },
           addtoB:function(){
             console.log("add to B");
             return this.b + this.age;
           }
     }
})

我们computed和方法在用法上很相似的,我们的可以直接把方法拷贝一份到computed里面,但是在我们保存去页面刷新看的时候他会给我们报错的,如果我们想要调动我们的计算属性,就不能像方法那样加上括号了,那我们就在html里面把括号删掉就行了

new Vue({
    el:"#vue-app",
    data:{
           a:0,
           b:0,
           age:20
    },
     methods:{
          
     },
     computed:{
          addtoA:function(){
               console.log("add to A");
               return this.a + this.age;
           },
           addtoB:function(){
             console.log("add to B");
             return this.b + this.age;
           }
}
})
<body>
<div id="vue-app">
       <button v-on:click="a++">Add to A</button>
       <button v-on:click="b++">Add to B</button>
       <p>A - {{a}}</p>
       <p>B - {{b}}</p>
       <p>age + A = {{agetoA}}</p>
       <p>age + B = {{agetoB}}</p>
   </div>
</body>

我们在回到页面刷新,当我们点击Add to A控制台就会给我们显示add to A,这就比我们的方法更优化的的一个地方,在什么时候我们使用这个计算属性,在我们变化幅度比较大,比如搜索的时候,那我们会使用计算属性。

二,动态绑定CSS样式

之前我们也知道了属性绑定,所以都有所了解,我们需要用到的就是v-bind:class=" "我们给v-bind:class=" "
一个对象,以动态的切换class,我们初始一下我们的htmlapp.jsstyle.css代码给个结构框架和样式

<body>
<div id="vue-app">
       <h1> 示例 1 </h1>
           <div></div>
       <h2> 示例 2 </h2>
            <div></div>
   </div>
</body>
new Vue ({
     el:"vue-app",
     data:{
         changecolor:false,
         changelength:false
     },
     methods:{

     },
     computed:{

}
 });
span{
    background: red;
    display: inline-block;
    padding: 10px;
    color: #fff;
    margin: 10px 0;
}
.color span {
    background: green;
}

.length span:after{
      content: "length";
      margin-left: 10px;
}

结构写好了我们就要实现动态绑定,我们要想动态绑定,我们还是使用我们的v-bind,属性就是class,属性里面要有值,而我们的值是一个对象,在这个对象当中,最终只有两个值,要么是true,要么是false,接下来我们就来看看怎么写这个动态样式,首先,我们在h1下面的div我们绑定一个class,要想有一个动态样式我们就绑定一个css里面的color,那css后面的值我们就写app.js里面的changecolorv-bind:class="{color:changecolor}",这个时候我们回到页面在控制台里面我们会看到class这个时候是空的,默认状态下我们的div是红色的,那我们就想,当我们的class不为空,我们在div里面加一个<span>标签,内容就写“南极小丑”,在添加一个鼠标点击事件当我们点击的时候给他赋值,赋个取反的值v-on:click="changecolor=!changecolor",这个值就是app.js里面的changecolor**,这个时候当我们点击“南极小丑”的时候我们会发现背景从红色变成了绿色。

<body>
<div id="vue-app">
       <h1> 示例 1 </h1>
          <div v-on:click="changecolor=!changecolor"
               v-bind:class="{color:changecolor}">
                 <span>“南极小丑”</span>
          </div>
       <h2> 示例 2 </h2>
            <div></div>
   </div>
</body>

这是我们的第一个示例,我们再说说第二个示例,当我们点击div的时候(第二个div)我们可以更改我们一个元素的样式,我们用我们上一篇计算属性来写,我们先给计算属性取名叫 computer这个名字就相当于我们上面的对象,我们现在要做的就是把我们data里面的两个属性都反过来,我们既然调用的是计算属性,那我们就要实现这个计算属性

new Vue ({
     el:"vue-app",
     data:{
         changecolor:false,
         changelength:false
     },
     methods:{

     },
     computed:{
        computer:function(){
                return{
                  color=this.changecolor,
} 
 }
}
 });
<body>
<div id="vue-app">
       <h1> 示例 1 </h1>
          <!--<div v-on:click="changecolor=!changecolor"
               v-bind:class="{color:changecolor}">
                 <span>“南极小丑”</span>
          </div>-->
       <h2> 示例 2 </h2>
            <div v-bind:class="computer">
                 <span>"南极小丑"</span>
            </div>
   </div>
</body>

这样其实是和我们上面一样的,这个时候我们就差一个点击事件,我们给他加一个点击事件v-on:click="changecolor=!changecolor",当我们点击的时候他就变成了非changecolor,我们还可以添加多个事件changelength让他的长度发生变化,

<body>
<div id="vue-app">
       <h1> 示例 1 </h1>
          <!--<div v-on:click="changecolor=!changecolor"
               v-bind:class="{color:changecolor}">
                 <span>“南极小丑”</span>
          </div>-->
       <h2> 示例 2 </h2>
            <button v-on:click="changecolor=!changecolor">change color</button>
            <button v-on:click="changelength=!changelength">change length</button>
            <div v-bind:class="computer">
                 <span>"南极小丑"</span>
            </div>
   </div>
</body>
new Vue ({
     el:"vue-app",
     data:{
         changecolor:false,
         changelength:false
     },
     methods:{

     },
     computed:{
        computer:function(){
                return{
                  color=this.changecolor,
                  length=this.changelength
} 
 }
}
 });

这样当我们点击其中一个按钮他就会相应的改变CSS样式

这是我和大家一起分享我自己所学到的一些Vue.js的基础知识,希望看到这篇文章的各位前辈多多关照,小生有哪些错误的地方希望能够指出来,也希望其他和我一样的小白能够有所帮助。

相关文章

  • 前端小白学习Vue.js心得分享

    一。Vue.js 链接引入 vue.js下载安装地址 https://vuejs.org。 CDN链接建议手动更新...

  • 前端小白学习Vue.js心得分享

    一,键盘事件及键值修饰符 在上一篇文章我们了解了事件修饰符,这篇文章了我们来看看键值修饰符,同样的我们列表了一些修...

  • 前端小白学习Vue.js心得分享

    一,安装,引用Vue.js 对于我们刚入门的纯小白来讲,想要学好Vue.js,只有知道了认识了和了解了,我们才能更...

  • 前端小白学习Vue.js心得分享

    一,属性绑定 我们上一篇已经讲过了我们Vue.js是什么,以及怎么引入和实例化Vue对象,那么这篇我们继续分享我们...

  • 前端小白学习Vue.js心得分享

    一,事件修饰符 事件修饰符有很多种类,在我们Vue.js官网跟我们列出来了很多修饰符,再加上我自己在网上搜的一些修...

  • 前端小白学习Vue.js心得分享

    一,指令 v-if这篇文章我们来讲讲我们的条件语句v-if,在我们的Vue官网我们可以在条件渲染找到v-if相关的...

  • 前端小白学习Vue.js心得分享

    一,计算属性Computed 我们的计算属性,和我们的方法很相似,但是我们的计算属性可以把复杂的东西更简单化,接下...

  • 前端新人

    新入门web前端,想把在学习前端道路上的心得分享一下,嘻嘻

  • 2018-04-24 vue.js

    这是关于vue.js学习的心得。

  • 前端学习大概内容

    现代的前端开发模式 前端三驾马车:Angular、React、Vue Vue.js 学习vue.js前,需要了解的...

网友评论

      本文标题:前端小白学习Vue.js心得分享

      本文链接:https://www.haomeiwen.com/subject/kbnrhqtx.html