zoukankan      html  css  js  c++  java
  • Vue 总结(1) 属性绑定

    一.V-on 缩写@

       绑定事件监听器   

    <button v-on:click="doThis"></button>

        on后面接着就是事件   

    <!-- 停止冒泡 -->
    <button @click.stop="doThis"></button>

    <!-- 阻止默认行为 -->
    <button @click.prevent="doThis"></button>

    <!-- 阻止默认行为,没有表达式 -->
    <form @submit.prevent></form>

    <!-- 串联修饰符 -->
    <button @click.stop.prevent="doThis"></button>

    二. v-bind  缩写:(就一个冒号)

      <!-- 绑定一个属性 -->
    <img v-bind:src="imageSrc">

    <!-- 缩写 -->
    <img :src="imageSrc">

    <!-- 内联字符串拼接 -->
    <img :src="'/path/to/images/' + fileName">

       用对象绑定class

    :class="{red:isactive}" 
    style="{length+'px'}" 引用动态数据length
    用isactive的 布尔值来判断,可以写一个事件动态操作这个布尔值

    三 v-for
     理解:其实主要用来循环读取 数组内容 然后根据数组的内容来创建数据。
    1. eg:car在 数组cars里面 ,好 现在下面循环读取 car里面的内容
    <template v-for="car in cars">
    	<p>{{car}}</p>			
    </template>
    
    new Vue({
        el:".wrap",
        data:{			
     cars:["benz","bmw","aodi"]         
    }
    })
    
    2.访问 挨个数组项的内部循环内容   一个数组有五个对象,每个对象 又有属性和值

    向内部 排序是 (value,key,index   )in car   【 键值  键  和索引】

    1.注意结构  循环必须在最外面的里面

     2. v-for 和下面获取的元素不可以用同一个标签

    3.template 解决标签污染 不渲染 本身

    <div class="wrap">
    	<button @click="a"> 插入数据0</button>
    		<div title="11" v-for="car in carlist">	
    			<p v-for="(vals,keys,ind) in car">
    				<span>{{ind}}</span> 			
    				<strong>{{keys}}</strong>   
    				<span>{{vals}}</span> 				
    			</p>		
    		</div >
    	</div>
    
    	<script>
    		new Vue({
    			el:".wrap",
    			data:{
                 carlist:[
    		         {name:"benz",price:"100"},
    		         {name:"bmw",price:"200"},
    		         {name:"aodi",price:"300"}
                 	]
    			}
    		})
    	</script>
    

     四.组件
       多个Vue 在一个 js里面 就 var XX= new Vue 给定义出来,然后用XX.name 来访问 里面的数据

      接下来 就要用到组件  作为 公共实例对象,下面的所有new出来的 对象都可以访问其内容

    <body>
       <!-- <greeting ></greeting> -->
    <div class="wrap">
     <greeting ></greeting>
    </div>
    
    <div class="content">
     <greeting ></greeting>
    </div>
    
    <script>
      Vue.component("greeting",{
         template:
        ' <p>  {{name}}   这是tenplate文本内容  <button @click="changeName">更改内容</button>        </p>',
           data:function () {
                return {
                   name:"ceshi"
                       }
                          },
           methods:{
             changeName:function () {
            this.name="已更改"
                                   }
                   }
            })
    
    	var wrap = new Vue({
        el:".wrap",
        data:{
          name:"date1"
        }
    	})
    
      var content  = new Vue({
        el:".content"
      })
    </script>
    
    </body>
    

      









    五.
    ref
    <input ref="usernameInput"></input>
    this.$refs.usernameInput.value  可以访问上个input的内容

  • 相关阅读:
    MySQL中的InnoDB中产生的死锁深究
    MySQL中的触发器应用
    你除了在客户端上会使用Cookie,还能使用哪些可以作为数据缓存呢?
    js中实现输入框类似百度搜索的智能提示效果
    linux系统中启动mysql方式已经客户端如和连接mysql服务器
    linux系统安装mysql数据库
    Linux中实用的命令
    Linux下安装jdk中遇到的坑
    Git初始化配置以及配置github
    springboot中配置文件使用2
  • 原文地址:https://www.cnblogs.com/nice2018/p/10036177.html
Copyright © 2011-2022 走看看