{}相当于new object,
先把基础的Vue学好,之后再用脚手架,就能够融会贯通了!!!
vue对象中的几个主要对象:
new Vue({
el:'app', //作用于哪个模板
data:{} //存放vue组件的数据
methods:{} //dom绑定事件的书写区
computed:{} //计算属性,对于任何复杂逻辑,你都应当使用计算属性
directives: {} //自定义指令
components:{} //自定义组件
});
//根组件
new Vue({
data:{} //存放vue组件的数据
methods:{} //dom绑定事件的书写区
computed:{}
//子组件
component:{
data:{} //存放vue组件的数据
methods:{} //dom绑定事件的书写区
computed:{}
}
});
一:页面渲染( Rendering )
1,数据绑定
数据绑定最常见的形式就是使用“ Mustache” 语法 ( 双大括号 ) 的文本插值
{{msg}}
可以在双大括号中使用 Javascript 表达式
{{ message.split('').reverse().join('') }}
2,计算属性
模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的。在模板中放入太多的
逻辑会让模板过重且难以维护。
对于任何复杂逻辑,你都应当使用计算属性
Computed reversed message: "{{ reversedMessage }}"
var app = new Vue({
el: '#example',data: {message: 'Hello'},
computed: {
reversedMessage: function ()
{
return this.message.split('').reverse().join('')
}
}})
3,属性的绑定
指令 (Directives) 是带有 v- 前缀的特殊属性,指令的职责是,当表达式的值改变时,将
其产生的连带影响,响应式地作用于 DOM 。一些指令能够接收一个“ ” 参数 ,在指令名称
之后以冒号表示。
v-bind 指令可以用于响应式地更新 HTML 属性,简写形式为 ":"
4,事件的绑定
v-on 指令用于监听 DOM 事件,参数为事件名称,引号内为绑定的事件处理函数或者是
Javascript 代码(不推荐)。简写形式为 "@"
4-2
事件修饰符
类似的还有停止冒泡( .stop ) , 只当事件在当前元素本身时触发( .self ),仅触发一次 事件( .once )
键值修饰符
13 可以使用 .submit 代替
.enter 、 .tab 、 .delete 、 .esc 、 .space 、 .up 、 .down 、 .left 、 .right
5,条件渲染( v-if )
根据给定条件判断决定是否显示元素
A
B
C
条件渲染( v-show )
与 v-if 不同的是带有 v-show 的元素始终会被渲染并保留在 DOM 中。 v-show 是简单地切换元素的 CSS 属性 display
注意, v-show 不支持 语法,也不支持 v-else 。 如果需要非常频繁地切换元素,则使用 v-show 较好
6, 列表渲染( v-for )
v-for 指令根据一组数组的选项列表进行渲染,使用 item in items 形式的特殊语法
items 是源数据数组并且 item 是数组元素迭代的别名
7,表单输入绑定
v-model 指令可以在表单控件元素上创建双向数据绑定(不会用于文本元素)
1 . 单行文本、多行文本框、单选按钮、下拉菜单简单使用 v-model 绑定即可
Message is: {{ message }}
2 . 复选框(绑定到一个数组中)
data:{checkedNames:[]}
二:动画(animation)
Vue 在插入、更新或者移除 DOM 时,提供多种不同方式的应用过渡效果。 包括以下工具:
1,在 CSS 过渡和动画中自动应用 class
2,可以配合使用第三方 CSS 动画库,如 Animate.css
3,在过渡钩子函数中使用 JavaScript 直接操作 DOM
4,可以配合使用第三方 JavaScript 动画库,如 Velocity.js
Vue 提供了 transition 的封装组件,在下列情形中,可以给任何元素和组件添 加 entering/leaving 过渡
在进入 / 离开的过渡中,会有 6 个 class 切换, v- 是这些类名的前缀,可以在transition 标签中设定 name 属性改变该前缀。
v-enter(进入前) v-enter-active(进入中) v-enter-to(进入后) v-leave(离开前) v-leave-active(离开中) v-leave-to(离开后)
1,自定义过渡样式
hello vue
2,自定义过渡的类名,和其他第三方动画库,animate.css结合使用
enter-class 、 enter-active-class 、 enter-to-class
leave-class 、 leave-active-class 、 leave-to-class
leave-active-class='animated bounce'>
hello vue
3,javascript 钩子,可以通过 js 钩子定义动画,结合第三方动画库 Velocity.js( 以及插件Velocity.ui.js)
before-enter 、 enter 、 after-enter 、 before-leave 、 leave 、 after-leave
hello vue
methods:{
enter:function(el,done){
Velocity(el,"callout.pulse", { duration: 650 ,complete:done}) },
leave:function(el,done){
Velocity(el,"callout.bounce", { duration: 1500 ,complete:done}) }
}
4,列表过渡
为了同时渲染整个列表,使用
以一个真实元素呈现:默认为一个 。你也可以通过 tag 特性更换为其
他元素,内部元素 总是需要 提供唯一的 key 属性值
methods:{
enter:function(el,done){
Velocity(el,{ opacity: 1, height: '1.6em' },{ complete: done })},
leave:function(el,done){
Velocity(el,{ opacity: 0, height: 0 },{ complete: done })}
}
三:组件
组件 (Component) 是 Vue.js 最强大的功能之一。在较高层面上,组件是自定义元素,template用反引号``, 比用引号方便
1,全局注册
Vue.component('my-component', {
// 构造 Vue 实例时传入的选项大多数都可以在组件里使用。 data 为函数
template : '
})
组件在注册之后,便可以作为自定义元素
组件(即 new Vue({}))
2,局部注册
局部注册 不必把每个组件都注册到全局。我们可以通过某个 Vue 实例 / 组件的实例
选择 components 注册仅在其作用域中可用的组件。
var app = new Vue({
el:'#app',
components:{
'my-component':{ template:'
hello component
'}}
});
3,自定义组件的使用
1,直接使用
2,通过 is 关键字使用
第一种方式会受到 HTML 本身的限制,因为 Vue 只有在浏览器解析、规范化模
板之后才能获取其内容,像
- 、
- 、