vue指令带有前缀 v-。

一、v-bind 单向数据绑定

在html中显示数据,除了使用插值表达式{{}}之外,也可以使用vue中的v-bind指令。

... ...
<body>
<div id="app">
<!-- v-bind指令 -->
<h1 v-bind:title="message">
{{content}}
</h1>
</div>
<script src="vue.min.js"></script>
<script>
new Vue({
el: '#app',
data: {
content: '我是标题',
message: '页面加载于 ' + new Date().toLocaleString()
}
})
</script>
</body>
... ...

鼠标悬停到标题上,可以看到显示了data里的message数据,这就是v-bind:title="message"起了作用。

v-bind也可以直接使用简写,就是一个冒号:。

<!-- v-bind 指令的简写形式: 冒号(:) -->
<h1 :title="message">
{{content}}
</h1>

二、v-model 双向数据绑定

上面的v-bind单向绑定,其实就是在元素中拿到了data里的数据来展示。

而双向绑定,不仅可以拿到data的数据展示到页面,而且当修改页面值的时候,也可以修改data里的数据。看例子:

... ...
<body>
<div id="app">
<!-- v-bind:value只能进行单向的数据渲染 -->
<input type="text" v-bind:value="searchMap.keyWord"><br>
<!-- v-model 可以进行双向的数据绑定 -->
<input type="text" v-model="searchMap.keyWord"> <p>{{searchMap.keyWord}}</p>
</div>
<script src="vue.min.js"></script>
<script>
new Vue({
el: '#app',
data: {
searchMap:{
keyWord: '双向绑定'
}
}
})
</script>
</body>
... ...



可以看到上面2个输入框都拿到了data里的searchMap.keyWord的值,显示"双向绑定"。

这时候先修改上面的输入框的值,这是单向绑定的,修改后,发现输入框拿到的data里的searchMap.keyWord,依旧是"双向绑定"。



接着,再修改下面输入框的值,这是双向绑定的,修改后,单向绑定的输入框拿到的值也变了,data里的searchMap.keyWord的值被修改了。

三、v-on 绑定事件

v-on指令可以绑定事件,比如说click,点击事件。

... ...
<body>
<div id="app">
<!-- v-model 可以进行双向的数据绑定 -->
<input type="text" v-model="searchMap.keyWord">
<!-- v-on 指令绑定事件,click指定绑定的事件类型,事件发生时调用vue中methods节点中定义的方法 -->
<button v-on:click="search()">查询</button>
</div>
<script src="vue.min.js"></script>
<script>
new Vue({
el: '#app',
data: {
searchMap:{
keyWord: '点击查询按钮触发点击事件'
}
},
methods:{
search(){
console.log('触发点击事件')
}
}
})
</script>
</body>
... ...

查询按钮绑定了click事件v-on:click="search()",当点击按钮的时候会去调用vue里的search()方法。

console.log('触发点击事件'),浏览器F12查看console,可以看到输出内容。



v-on的简写是@:

<!-- v-on 指令的简写形式 @ -->
<button @click="search()">查询</button>

四、修饰符 .

修饰符是以半角句号.指明的特殊后缀,用于指出一个指令应该以特殊方式绑定。

例如,.prevent修饰符告诉v-on指令对于触发的事件调用onSubmitForm(),并非执行submit的提交,

这就是阻止了事件原本的默认行为。

<body>
<div id="app">
<form action="save" v-on:submit.prevent="onSubmitForm">
<input type="text" id="name" v-model="user.username"></input>
<button type="submit">保存</button>
<!-- 现在希望实现点击保存时候,表单不提交,而且走我们自定义的方法 -->
</form>
</div>
<script src="vue.min.js"></script>
<script>
new Vue({
el: '#app',
data: {
user: {}
},
methods: {
onSubmitForm() {
if (this.user.username) {
console.log('执行自定义方法')
} else {
alert('请输入用户名')
}
}
}
})
</script>
</body>

点击保存按钮,就可以看到效果。



实际使用不多,了解就好。

五、v-if 条件指令

其实就是if else的用法,只不过这是在页面里使用的。

比如页面里写个判断,勾选、不勾选的时候分别显示不同的内容:

... ...
<body>
<div id="app">
<input type="checkbox" v-model="ok">是否勾选
<!-- v:if条件指令:还有v-else、v-else-if -->
<h1 v-if="ok">勾选时展示</h1>
<h1 v-else>不勾选时展示</h1>
</div>
<script src="vue.min.js"></script>
<script>
new Vue({
el: '#app',
data: {
ok: false
}
})
</script>
</body>
... ...

不勾选时,

勾选时,

六、v-show 条件指令

v-show完成和上面v-if相同的功能。

    <h1 v-show="ok">勾选时展示</h1>
<h1 v-show="!ok">不勾选时展示</h1>

区别在于:

v-if 有更高的切换开销,而 v-show 有更高的初始渲染开销。

如果需要非常频繁地切换,则使用 v-show 较好;

如果在运行时条件很少改变,则使用 v-if 较好。

七、v-for 列表循环指令

for循环都很熟悉了,在这里也一样用,可以循环遍历一个列表,把列表里的元素都给遍历出来。

需要的话也可以带上index,元素的索引,从0开始。

比如uselist里有3个对象,可以通过for循环拿到列表里没一个对象的字段值。

... ...
<body>
<div id="app">
<table>
<!-- <tr v-for="item in userList"></tr> -->
<tr v-for="(user, index) in userList">
<td>{{index}}</td>
<td>{{user.id}}</td>
<td>{{user.username}}</td>
<td>{{user.age}}</td>
</tr>
</table>
</div>
<script src="vue.min.js"></script>
<script>
new Vue({
el: '#app',
data: {
userList: [
{ id: 1, username: '大周', age: 38 },
{ id: 2, username: '胖洪', age: 28 },
{ id: 3, username: '小毛', age: 18 }
]
}
})
</script>
</body>
... ...



4列分别对应 index、id、username、age。

【vue】常用指令的更多相关文章

  1. vue学习(二)Vue常用指令

    2 Vue常用指令 1. vue的使用要从创建Vue对象开始 var vm = new Vue(); 2. 创建vue对象的时候,需要传递参数,是json对象,json对象对象必须至少有两个属性成员 ...

  2. 【Vue常用指令】

    目录 v-html v-text v-for v-if v-show v-bind v-on v-model 指令修饰符 计算与侦听属性 自定义属性 获取DOM元素 "@ *** Vue.j ...

  3. 重学VUE——vue 常用指令有哪些?

    一.什么是指令? 在 vue 中,指令以 v- 开头,是一种特殊的自定义行间属性.指令属性的预期值是一个表达式,指令的职责就是:表达式的值改变时,相应地将某些行为应用到DOM上.只有v-for是一个类 ...

  4. Vue.js 第1章 Vue常用指令学习

    今日目标 能够写出第一个vue应用程序 能够接受为什么需要学vue 能够使用指令 能够通过指定完成简单的业务(增加删除查询) 能够理解mvvm 为什么要学习vue 企业需要 可以提高开发效率 实现vu ...

  5. vue常用指令

    1.v-if系列 v-if="数据|判断" 只要条件成立,就显示if中的元素 v-else (注意:必须跟在v-if或者v-if-else的后面,不然失效) 如果if条件不成立显示 ...

  6. VUE常用指令总结!

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. vue常用指令总结

    一.vue指令 官网解释 指令 (Directives) 是带有 v- 前缀的特殊特性.指令特性的值预期是单个 JavaScript 表达式 (v-for 是例外情况).指令的职责是,当表达式的值改变 ...

  8. Vue常用指令详解分析

    Vue入门 Vue是一个MVVM(Model / View / ViewModel)的前端框架,相对于Angular来说简单.易学上手快,近两年也也别流行,发展速度较快,已经超越Angular了.比较 ...

  9. Vue.js之常用指令

    vue常用指令 vue.js官方给自己的定义是数据模板引擎,并给出了一套渲染数据的指令.本文详细介绍vue.js的常用指令. 官网:点我 一.v-text.v-html v-text:用于绑定文本 v ...

  10. Vue常用语法及命令

    1,Vue常用语法 vue常用语法之变量的定义 // 1,变量相关 // 变量的提升 var username = "雪雪"; var username ; console.log ...

随机推荐

  1. 如何将图片、html等格式转成pdf

    const int WWidth = 600; const int HHeight = 800; List<System.Drawing.Image> AllName = new List ...

  2. Linux之【安装系统后的调优和安全设置】

    关闭SElinux功能 •修改配置文件使其永远生效 第一种修改方法vi vi /etc/sysconfig/selinuc 或者 vi /etc/selinux/config修改: SELINUX=d ...

  3. 老猿学5G:融合计费场景的离线计费会话的Nchf_OfflineOnlyCharging_Update 更新操作过程

    ☞ ░ 前往老猿Python博文目录 ░ 一.Nchf_OfflineOnlyCharging_Update消息交互过程 Nchf_OfflineOnlyCharging_Update消息是是5G融合 ...

  4. PyQt(Python+Qt)学习随笔:Qt Designer中部件的windowIcon属性

    windowIcon对象为部件对象的属性,但只有窗口对象有效,其他派生对象如pushButtong对象无效. 在windowIcon对象上有如下子属性设置: 这几个子属性实际上是QIcon类中继承的. ...

  5. PyQt学习随笔:应用中通过installEventFilter安装重写的eventFilter捕获应用事件的方法

    eventFilter函数是直接从QObject继承的定义的事件刷选虚拟函数,如果一个对象A使用installEventFilter函数将另一个对象B安装了B的实例方法eventFilter,则这个对 ...

  6. ORACLE PRAGMA AUTONOMOUS_TRANSACTION 自治事务 单独提交某一段操作

    个人使用示例: CREATE OR REPLACE PROCEDURE logs(p_remark VARCHAR2, p_log CLOB) AS PRAGMA AUTONOMOUS_TRANSAC ...

  7. 个人介绍&软工5问

    个人简历:   姓名:温海源 性别:男 专业:软件工程 学校:广东工业大学 技术能力:掌握C语言 JAVA在学 证书:CET4,CET6 联系方式:1424315382@qq.com 软工5问: 1. ...

  8. kylin的实现原理

    摘自https://blog.bcmeng.com/post/kylin-cube.html#kylin%E7%9A%84%E9%A2%84%E8%AE%A1%E7%AE%97%E6%98%AF%E5 ...

  9. vscode 编辑python文件

    1 安装python 自动姿势 Chinese # 换成中文 path Autocomplete 路径自动补全 Vetur vue文件补全 配置文件 首选项-设置 应用程序 在 seyying.jso ...

  10. PluginOK中间件高级版-支持在Chrome、Edge、Firefox等浏览器网页中真正内嵌ActiveX等控件运行的版本已获多家上市公司采购

    PluginOK(牛插)中间件(原名:本网通WebRunLocal)是一个实现WEB浏览器(Web Browser)与本地程序(Local Application)之间进行双向调用的低成本.强兼容.安 ...