首页 > 其他 > 详细

Vue学习(第三天 Vue基础)

时间:2020-04-05 21:25:34      阅读:67      评论:0      收藏:0      [点我收藏+]

vue中对于页面+数据更为方便的输出,这些操作叫做指令。以v-xxx表示。如<div v-xxx>。

例如data中有这样的定义:

data(){
    return {
      msg:‘欢迎‘,
      msg2:‘<h3>欢迎</h3>‘
    }
  }

  我们可以将msg在p标签中进行显示,可以在template中这样写:

<p v-text= "msg"></p> 

  这样写并不常用因为直接双大括号插入值就可以了,但是也可以将msg2放下div标签下成为一个<h3>标签,里面的内容是欢迎。这样写:

<div v-html = "msg2"></div>

  同理,v-if的功能是当后面的表达式为true的时候才会显示标签内容。如果为false则不显示,下面是显示内容的例子:

<div v-if=‘true‘>澳门赌场上线了</div>

  可以使用一个变量来改变是否显示,其中变量show在data中定义为show:true。

<div v-if=‘!show‘>澳门赌场上线了</div>

  那么v-if里面也可以放各种表达式,或者随机数大于小于几的那种形式各种各样就比较灵活了。具有形似功能的是v-show,v-show是控制dom元素的显示和隐藏,也就是display:none\block。v-if是真正的条件渲染,false是直接销毁掉true是直接创建的。v-show总会在界面中渲染只是表现或者不表现,如果是频繁的显示/隐藏一定要选择v-show否则将会造成性能消耗。总结:v-show是初始化开销,v-if是切换开销。

  v-bind用来绑定标签上的属性(系统的属性和自定义的属性),

<style type="text/css">
  .box{
    width: 300px;
    height:300px;
    background-color:red;
  }
  .active{
    background-color: green;
  }
</style>

  声明一个盒子,默认为红色,active默认是绿色的,在创建box在div中的时候可以用v-bind进行绑定:

<div class=‘box‘ v-bind:class = "{active:true}"></div>

  绑定的内容是class为active对象,active为true的时候显示了绿色,这里改成false则显示红色。这里要知道v-bind可以简写为冒号。

  v-on绑定点击事件 

  v-on:原生事件名=‘函数名‘ 简便写法:@  举个例子,我们把div用v-on绑定点击事件函数clickHandler,然后active中的isGreen默认是false也就是说默认box是红色的。

<div class=‘box‘ v-on:click=‘clickHandler‘ v-bind:class = "{active:isGreen}"></div>

  然后我们写clickHandler函数:

methods:{
    clickHandler(e){
      this.isGreen = true;
    }
  }

  这样当我们点击box的时候,点击事件触发,box马上变成了绿色。把上述代码中的true变成!isGreen则可以反复点击来回切换颜色。

  v-for用来遍历对象。在data中添加一个对象person:

person:{
  name:‘zhang3‘,
  age :‘33‘
}

  然后在用v-for来迭代输出:

<li v-for=‘(value,key) in person‘>
   {{key}}=={{value}}
</li>

  效果

技术分享图片

 

 

  v-model双向数据绑定。实质是v-bind:value + v-on:input的功能。代码如下:

   <div id=‘app‘>
        <input type ="text" v-model="msg">
        <h3>{{msg}}</h3>
    </div>
    <script type = "text/javascript" src="./node_modules/vue/dist/vue.js"></script>
    <script type = "text/javascript">
        new Vue({
            el:"#app",
            data(){
                return{
                    msg:‘大象‘
                }
            }
        });
    </script>

  技术分享图片

 

   可以看到数据改变的时候显示的msg也同时改变了。

  组件:分为局部组件和全局组件。局部组件只在当前组件的内部使用,全局组件全局共享,任何组件都可以使用。组件之间存在嵌套,因此形成了父子组件的东西。

   

 

Vue学习(第三天 Vue基础)

原文:https://www.cnblogs.com/snailbuster/p/12638822.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!