时间:2021-05-26
一、v-bind 缩写
二、v-on 缩写
三、过滤器
四、条件渲染
五、列表渲染 for
数组变动检测
Vue.js 包装了被观察数组的变异方法,故它们能触发视图更新。被包装的方法有:push(), pop(), shift(), unshift(), splice(), sort(), reverse()
对象 v-for
值域 v-for
六、方法与事件处理器
方法处理器
内联语句处理器
有时也需要在内联语句处理器中访问原生 DOM 事件。可以用特殊变量 $event 把它传入方法
<button v-on:click="say('hello!', $event)">Submit</button> methods: { say: function (msg, event) { // 现在我们可以访问原生事件对象 event.preventDefault() }};## 事件修饰符
<!-- 阻止单击事件冒泡 --><a v-on:click.stop="doThis"></a><!-- 提交事件不再重载页面 --><form v-on:submit.prevent="onSubmit"></form><!-- 修饰符可以串联 --><a v-on:click.stop.prevent="doThat"><!-- 只有修饰符 --><form v-on:submit.prevent></form>## 按键修饰符
<!-- 只有在 keyCode 是 13 时调用 vm.submit() --><input v-on:keyup.13="submit"><!-- 同上 --><input v-on:keyup.enter="submit"><!-- 缩写语法 --><input @keyup.enter="submit">全部的按键别名:enter,tab,delete,esc,space,up,down,left,right
## 其他实例
new Vue({ el: '#demo', data: { newLabel: '', stats: stats }, methods: { add: function (e) { e.preventDefault() if (!this.newLabel) { return; } this.stats.push({ label: this.newLabel, value: 100 }); this.newLabel = ''; }, remove: function (stat) { if (this.stats.length > 3) { this.stats.$remove(stat); // 注意这里的$remove } else { alert('Can\'t delete more!') } } }});七、过渡
CSS 过渡
你可以在同一元素上通过动态绑定实现不同的过渡:
<div v-if="show" :transition="transitionName">hello</div> new Vue({ el: '...', data: { show: false, transitionName: 'fade' }}另外,可以提供 JavaScript 钩子:
Vue.transition('expand', { beforeEnter: function (el) { el.textContent = 'beforeEnter' }, enter: function (el) { el.textContent = 'enter' }, afterEnter: function (el) { el.textContent = 'afterEnter' }, enterCancelled: function (el) { // handle cancellation }, beforeLeave: function (el) { el.textContent = 'beforeLeave' }, leave: function (el) { el.textContent = 'leave' }, afterLeave: function (el) { el.textContent = 'afterLeave' }, leaveCancelled: function (el) { // handle cancellation }});八、组件
1.注册
2.使用prop 传递数据
实例一:
实例二:
3.动态props
使用 v-bind 的缩写语法通常更简单:
<child :my-message="parentMsg"></child>4.Prop 绑定类型
prop 默认是单向绑定:当父组件的属性变化时,将传导给子组件,但是反过来不会。这是为了防止子组件无意修改了父组件的状态——这会让应用的数据流难以理解。不过,也可以使用 .sync 或 .once 绑定修饰符显式地强制双向或单次绑定:
比较语法:
<!-- 默认为单向绑定 --><child :msg="parentMsg"></child><!-- 双向绑定 --><child :msg.sync="parentMsg"></child><!-- 单次绑定 --><child :msg.once="parentMsg"></child>其他实例:<modal :show.sync="showModal"> <h3 slot="header">custom header</h3> </modal></div>5.Prop 验证
组件可以为 props 指定验证要求。当组件给其他人使用时这很有用,因为这些验证要求构成了组件的 API,确保其他人正确地使用组件。此时 props 的值是一个对象,包含验证要求:
其他实例:
Vue.component('modal', { template: '#modal-template', props: { show: { type: Boolean, required: true, twoWay: true } }});6.注册
或者直接写成:
Vue.component('my-component', { template: '<div>A custom component!</div>'}); // 创建根实例new Vue({ el: '#example'});<div id="example"> <my-component></my-component></div>7.使用prop 传递数据
实例一:
实例二:
8.动态props
使用 v-bind 的缩写语法通常更简单:
<child :my-message="parentMsg"></child>9.Prop 绑定类型
prop 默认是单向绑定:当父组件的属性变化时,将传导给子组件,但是反过来不会。这是为了防止子组件无意修改了父组件的状态——这会让应用的数据流难以理解。不过,也可以使用 .sync 或 .once 绑定修饰符显式地强制双向或单次绑定:
比较语法:
<!-- 默认为单向绑定 --><child :msg="parentMsg"></child><!-- 双向绑定 --><child :msg.sync="parentMsg"></child><!-- 单次绑定 --><child :msg.once="parentMsg"></child>其他实例:
<modal :show.sync="showModal"> <h3 slot="header">custom header</h3> </modal></div>10.Prop 验证
组件可以为 props 指定验证要求。当组件给其他人使用时这很有用,因为这些验证要求构成了组件的 API,确保其他人正确地使用组件。此时 props 的值是一个对象,包含验证要求:
其他实例:
Vue.component('modal', { template: '#modal-template', props: { show: { type: Boolean, required: true, twoWay: true } }});11.使用slot分发内容
<slot> 元素作为组件模板之中的内容分发插槽。这个元素自身将被替换。
有 name 特性的 slot 称为命名 slot。 有 slot 特性的内容将分发到名字相匹配的命名 slot。
例如,假定我们有一个 multi-insertion 组件,它的模板为:
<div> <slot name="one"></slot> <slot></slot> <slot name="two"></slot></div>父组件模板:
<multi-insertion> <p slot="one">One</p> <p slot="two">Two</p> <p>Default A</p></multi-insertion>渲染结果为:
<div> <p slot="one">One</p> <p>Default A</p> <p slot="two">Two</p></div>声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
什么是Vue.js?Vue.js是用于构建交互式的Web界面的库。Vue.js提供了MVVM数据绑定和一个可组合的组件系统,具有简单、灵活的API。Vue.js
什么是Vue.js?Vue.js是用于构建交互式的Web界面的库。Vue.js提供了MVVM数据绑定和一个可组合的组件系统,具有简单、灵活的API。Vue.js
Vue.js简介vue是法语中视图的意思,Vue.js是一个轻巧、高性能、可组件化的MVVM库,同时拥有非常容易上手的API。一、动态参数显示ajax异步请求后
Vue.js是一个构建数据驱动的web界面的库。重点集中在MVVM模式的ViewModel层,因此非常容易与其它库或已有项目整合Vue.js的核心是一个响应的数
Vue.js是用于构建交互式的Web界面的库。Vue.js提供了MVVM数据绑定和一个可组合的组件系统,具有简单、灵活的API。先来看一个简单的示例,Hello