vue 基础学习一

学习vue中发现的问题,和解析(自问自答)

var vm=new vue({

             el:"#app",

             data:{

                  msg:"我是一段厉害的代码",

                  class1:"bigBlue",

                  change:false,

                  style1:{ color:"red",font-size:"15px" },

                  list:[1,2,3,4,5,6,7,8,9],

                 object1:[

                              {   name:"王强",sex:"男" },

                              {   name:"王丽",sex:"女" },

                               {   name:"王励勤",sex:"未知" }

                              ]

               },

              methods:{

                }

})

一、引入vue.js,加载时候页面未进行渲染,会出现闪切(由变量变为数据)的效果

1.需要在对应的模块(#app 里面)外部 增加 v-cloak

属性 并且在style区域增加[v-cloak]{ display:none; } 样式;即js加载完成后显示页面数据。

2.使用 v-text="msg" 属性,v-text js加载完成之后才会渲染数据。

注:v-cloak 和 v-text 还是不同的,v-cloak 只是一个属性,在标签区间中,仍然需要添加变量输出的表达式即{{msg}},且{{msg}}前后可以增加不同的数据也可以使用三元运算符,加减法等基础计算等。而v-text=“msg”  类似于input的value属性,即给标签赋值,只是在页面数据加载完成后才会显示和赋值。

二、怎么通过变量来输出html标签并且解析

用v-html="msg" 属性来操作 

三、怎么绑定html 原有属性呢?例如 title属性

用v-bind:title="msg"    v-bind:是vue中提供的绑定属性的一个指令   v-bind:  可以简写为 :

四、怎么绑定事件呢?例如click(点击)事件等

用v-on:click="checkedMe"  v-on:是vue中提供的绑定事件的一个指令  v-on:可以简写为@ 

 且绑定的事件应该写入  methods:{ checkedMe:function(){   alert("你点击了我")  }   };    methods 是实例化vue中绑定所有可用的事件的 实例区域。

五、怎么阻止或监听绑定事件on的时候 触发冒泡等呢?(事件修饰符)

1.   “.stop” 阻止冒泡      @click.stop="checkedMe"

2.   ".prevent"阻止默认事件   <a  href="https://www.baidu.com" @click.prevent="checkedMe">  触发checkedMe且不跳转。

3.   ".capture" 添加事件监听器时使用的事件捕获模式    即从当前元素从外到里捕获所有事件

4.   ".self"  只当事件在该元素本身(比如不是子元素)时触发的触发回调   即只有点击当前元素才会触发事件函数。

5.   ".once" 事件只触发一次    <a  href="https://www.baidu.com" @click.prevent.once="checkedMe">  第一次点击触发checkedMe且不跳转,第二次则 触发checkedMe 且跳转到百度

注:  .once  如果用在事件修饰符前和在事件修饰符后无区别,.stop和.self 都有阻止冒泡的效果,但是self只是阻止当前元素的冒泡,而.stop则是在该元素由内而外阻止冒泡。

六、什么标签可以和用户进行交互,实现双向绑定呢?

表单标签都可以用v-model="msg" 来事件数据的双向绑定。

七、既然可以绑定属性,那可以不可以动态的绑定样式呢?

当然可以v-bind:class="class1"  或  :class="class1"    因为v-bind:  <=> :  

绑定属性都是通过表达式去data中寻找变量,那我怎么直接引用<style></style>中写的样式类呢?

可以用 :class="['smllBlue','bigRed']" ,通过数组的形式传入多个样式,注: 数组中的样式类名称,必须用单引号以字符串的形式写入,要不会按照表达式去解析,寻找变量

 灵活应用,则在动态样式绑定中,可以通过三元表达式,来控制是否添加样式类 [change?"active":""] 即当变量change为true时 绑定样式 active。  也可以通过对象属性是否为真来控制是否添加样式类  [{'active':change}]  即当变量change为true时 绑定样式 active。

八、如何通过内联样式绑定,给我们的数据增加样式呢?

可以用:style="style1"  表达式对象来增加样式,如果多个则用数组形式 :style="[style1,style2,style3]" 

九、vue也支持渲染for循环   循环数组  或者对象数组或对象

<div  v-for="(item,i) in list"> {{i}} {{item}}</div>  将div循环了9次, i  表示各个下标 , item 表示下标下的值,当然 i和item都是可以按照自己喜欢替换成别的字符   如 <div  v-for="(value,key)  in list"> {{i}} {{item}}</div>  等

v-for  除了可以循环数组外 还可以循环对象数组:

<div  v-for="(value,key) in object1">我是第 {{key}} 个数据   我的名字叫 {{value.name}}   性别是{{value.sex}}</div>

注:  v-for=" ok in object1 "   中的ok  即是数组中的 item  即下标值     在2.2.0+版本中  :key="" 是必须被定义的 且:key="" 只能绑定Number或者 String 类型   如  :key="value.id"     绑定的key值是唯一的

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值