ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
- 简单例子 ~~~ <div id="app"> {{ message }} </div> <script> var app = new Vue({ el: '#app', data: { message: '测试vue!' } }) </script> ~~~ ~~~ <div id="app"> <ul><li v-for="rs in todos"> {{rs.text}}</li></ul> </div> var app = new Vue({ el: '#app', data: { todos: [ { text: '学习 JavaScript' }, { text: '学习 Vue' }, { text: '整个牛项目' } ] } }) ~~~ - 模板语法 ~~~ 一次插值,后面不会改变 v-once 输出原始值 <span v-html:style="msg">你好</span> 输出属性 <span v-bind:style="msg">你好</span> if语句 <span v-if="msg">true看见我</span> <h1 v-if="msg=='ok'">是</h1> <h1 v-else-if="msg=='ok1'">是1</h1> <h1 v-else>否</h1> 管理重复数据 key="username-input" 监听事件 <a v-on:click="alert(1)">123</a> v-bind缩写 : v-on 缩写@ 数组方式调用class <div v-bind:class="[activeClass, errorClass]"></div> 绑定内联样式 <div v-bind:style="{ color: activeColor, fontSize: fontSize + 'px' }"></div> 显示隐藏 <h1 v-show="msg=='ok'">是</h1> 不支持<template>和else,是display显示隐藏 列表渲染 <li v-for="item in items"> {{ item.message }} </li> 带索引 <li v-for="(item, index) in items"> {{ parentMessage }} - {{ index }} - {{ item.message }} </li> 对象也支持三个参数 <div v-for="(value, key, index) in object"> {{ index }}. {{ key }}: {{ value }} </div> 唯一性 <div v-for="item in items" :key="item.id"> <!-- 内容 --> </div> 方法 <button v-on:click="fn">创建</button> var app = new Vue({ el: '#app', data: {msg:'ok1' } ,methods:{ 'fn':function(event){ alert("q"+this.msg) } } }) ~~~ - 事件修饰符 ~~~ <!-- 阻止单击事件继续传播 --> <a v-on:click.stop="doThis"></a> <!-- 提交事件不再重载页面 --> <form v-on:submit.prevent="onSubmit"></form> <!-- 修饰符可以串联 --> <a v-on:click.stop.prevent="doThat"></a> <!-- 只有修饰符 --> <form v-on:submit.prevent></form> <!-- 添加事件监听器时使用事件捕获模式 --> <!-- 即元素自身触发的事件先在此处处理,然后才交由内部元素进行处理 --> <div v-on:click.capture="doThis">...</div> <!-- 只当在 event.target 是当前元素自身时触发处理函数 --> <!-- 即事件不是从内部元素触发的 --> <div v-on:click.self="doThat">...</div> <!-- 点击事件将只会触发一次 --> <a v-on:click.once="doThis"></a> <!-- 滚动事件的默认行为 (即滚动行为) 将会立即触发 --> <!-- 而不会等待 `onScroll` 完成 --> <!-- 这其中包含 `event.preventDefault()` 的情况 --> <div v-on:scroll.passive="onScroll">...</div> <!-- 只有在 `keyCode` 是 13 时调用 `vm.submit()` --> <input v-on:keyup.13="submit"> .enter .tab .delete (捕获“删除”和“退格”键) .esc .space .up .down .left .right ~~~ - 表单 ~~~ <input v-model="message" placeholder="edit me"> <input type="checkbox" id="checkbox" v-model="checked"> <!-- 在“change”时而非“input”时更新 --> <input v-model.lazy="msg" > <input v-model.number="age" type="number"> <input v-model.trim="msg"> ~~~