v-text:元素的InnerText属性,必须是双标签 跟{{ }}效果是一样的 使用较少
注意: v-text 只能用在双标签中
元素的innerHTML
v-html 其实就是给元素的innerHTML赋值
其实v-on后面跟的不止是click事件也可以是其他的事件,用法均相似。比如:v-on:click/mouseout/mouseover/mousedown…
以下click为例
注意:所有的v-on都可以简写为@,比如说v-click可以简写为@click
可以用 v-on 指令监听 DOM 事件,并在触发时运行一些 JavaScript 代码。通常来讲就是监听dom触发一些操作,这些操作(比如点击)触发后执行的动作(js)可有直接写在后面
v-on:click="item+=1"
v-if : 判断是否插入这个元素,相当于对元素的销毁和创建
v-for 使用方式 v-fo="(item,index) in data" index 索引 item索引数据
1.迭代普通数组
在data中定义普通数组
data:{
list:[1,2,3,4,5,6]
}
<p v-for="(item,i) in list">--索引值--{{i}} --每一项--{{item}}</p>
2.迭代对象数组
在data中定义对象数组
data:{
list:[1,2,3,4,5,6],
listObj:[
{id:1, name:'zs1'},
{id:2, name:'zs2'},
{id:3, name:'zs3'},
]
}
//在html中使用 v-for 指令渲染
<p v-for "(uesr,i) in listObj">
// id --{{user.id}}---name-->{{user.name}}
可以使用 v-model
指令在 ( 标签有多种类型,如 button、select 等等)及 元素上进行双向数据绑定
v-model
会忽略所有表单元素的 value
、checked
、 selected
特性的初始值而总是将 Vue 实例的数据作为数据来源。你应该通过 JavaScript 在组件的 data选项中声明初始值:
vue
The input value is : {{message}}
用于动态更新html上元素的属性,如id class,href,src等等
缩写:v-bind:href 缩写为 :href
aa
下面是关于v-bind一些代码演示 v-bind
。
var app = new Vue({
el:"#app",
data:{
imgSrc:"http://www.itheima.com/images/logo.png",
imgTitle:"伏地魔",
isActive:false
},
methods: {
toggleActive:function(){
this.isActive = !this.isActive;
}
},
})
隐藏元素 如果确定要隐藏, 会给元素的style加上display:none。是基于css样式的切换
有一些情况我们需要 v-bind 和 v-model 一起使用:
data.name 和 data.body,到底谁跟着谁变呢?甚至,它们会不会产生冲突呢?
实际上它们的关系和上面的阐述是一样的,v-bind
产生的效果不含有双向绑定,所以 :value
的效果就是让input
的value
属性值等于data.name
的值,而v-model
的效果是使input
和data.body
建立双向绑定,因此首先 data.body
的值会给input
的value
属性,其次,当input
中输入的值发生变化的时候,data.body
还会跟着改变。
上文提到过下面两句是等价的: