第三章:
<p v-bind:title = " "></p>
<a v-bind:href = " "></a>
<p :style = "linkCss"></p>
<p :class = "[classA,{classB:hasError}]"></p>
<p v-html = " "></p>
<p v-text = " "></p>
{{ status ? 'success' : 'fail' }}
==>v-for数组和对象的区别:
数组:<li v-for = " (item,index) in items"></li>
对象:<li v-for = " (value,key) in objlist"></li >
组件:<componentA v-for = "(value,key) in objlist" :key="key"></componentA>
(通过for
循环传参给子组件)
==>数组、对象操作方法:
push()
pop()
shift()
unshift()
splice()
sort()
reverse()
以上会触发dom刷新
filter()
concat()
slice()
this.items[0] = "newValue"
==>使用全局方法Vue.set(this.items,0,newValue)
this.items.length = newLenght
以上不会触发dom刷新
==>表单:
<select>
<option v-for="item in items" :value = "item.value">{{item.text}}</option>
</select>
v-model的修饰符:(.lazy :延迟输出) (.number :输出对象转化为为数字(默认是字符串)) (.trim:去除用户输入的空格)
==>计算属性computed:
<input type="text" v-model="myValue">
{{ myValueWithoutNum }}
export default{
computed:{
myValueWithoutNum :function(){
return this.myValue.replact(/\d/g,'')
}}}
下面这种通过方法类似上面计算属性的方法,但是二者还是有区别:
{{ myValueWithoutNum() }}
export default{
methods:{
myValueWithoutNum :function(){
return this.myValue.replact(/\d/g,'')
}}}
第四章:
==>动态组件:
<p :is="componenA"></p>
==>父传子props,可以给传参类型设置限制:
props可以是数组类型或者对象类型,如果是对象类型,如下写法,表示可以限制父传子的传参类型
props:{
'my-value':[Number,String,Object]
}
==>slot插槽的用法
???
vue进阶:
==>过渡(Css动画/JS动画)
<transition name="fade" mode="out-in">
//mode用于控制动画展示的过程in-out/out-in
<p v-show="showFlag">i am shower</p>
//show
<div :is = "currentView"></div>
//动态组件切换
<p v-if="showFlag">i am shower</p>
//if
<div v-else>not in show</div>
//注意这里的p和div标签必须不同,如果相同的话,需要添加key属性以区分,否则不会执行动画效果。如下:;
<p v-if="showFlag" key="1">i am shower</p>
//if
<p v-else key="2">i am shower</p>
//if
</transition>
//Css过渡动画:
//动画定义时,分四个状态enter、enter-active、leave、leave-active,在定义样式的话,没有设置样式的状态,为默认状态
<style>
.fade-enter-active,fade-leave-active{
transiton:all .5s;
}
.fade-enter,.fade-leave-active{
opacity:0;
}
</style>
//JS过渡动画:
//这些钩子函数可以结合CSS transitions/animations 使用,也可以单独使用。
<transition
v-on:before-enter="beforeEnter"
v-on:enter="enter"
v-on:after-enter="afterEnter"
v-on:enter-cancelled="enterCancelled"
v-on:before-leave="beforeLeave"
v-on:leave="leave"
v-on:after-leave="afterLeave"
v-on:leave-cancelled="leaveCancelled"
//主意:对于仅使用js过渡的元素,记得添加下述一行,Vue会跳过css的检测,避免了transition标签在过渡过程中CSS的影响
v-bind:css="false"
>
methods:{
beforeEnter:function(el){
//...
},
//当只用JS过渡的时候,在enter和leave中,回调函数done是必须的。否则,他们会被同步调用,过渡会立即完成。
enter:function(el,done){
//...
done()
}
afterEnter:function(el){
//...
}
........
}
==>Vue项目引入jquery:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>vue</title>
//在这里引入api(Vue在打包的时候,不会对其进行处理)
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.main.js"></script>
</head>
<body>
<div id="app"></div>
</!-- built files will be auto injected -->
</body>
</html>
==>自定义指令
==>mixins(混合)
==>插件