vueUI框架elmentui
1蕊程,
vuex
-----state-------存儲(chǔ)數(shù)據(jù)
1椒袍,創(chuàng)建一個(gè)store,里面創(chuàng)建store的事例藻茂,然后公開借口
2驹暑,mian里面引用store:store
3玫恳,子組件就可以直接用了,在屬性computed里面优俘,寫傳的值得返回
--------getter----------獲取數(shù)據(jù)
同步改:
1京办,在store里面添加geters()
2,在子組件里面正常用
---mapgetter----//在方法很多的時(shí)候用
1兼吓,如果store里面有很多的數(shù)據(jù)列表臂港,子組件里面如果用,就需要不停的使用return视搏,就可以用
2审孽,...mapGetter([''state中的數(shù)組列表''],[],[])//很多很多
action里面也一樣浑娜,但是需要babel轉(zhuǎn)化(背 波)佑力;
mapGetter和mapAction需要引入vuex
安裝方式:cnpm install babel-preset-stage-2 --save--dev
安裝好后,還需要在.babelirc筋遭,添加['stage-2'],保存打颤,重啟。
--------Mutations------觸發(fā)事件改變數(shù)據(jù)
1漓滔,在store里面使用mutations
2编饺,子組件使用this.$store.commit('store里面的事件名稱','參數(shù)')
3,就是可以在調(diào)試工具里面查看事件的信息响驴,方便debug
-----------action------------異步觸發(fā)mutation里面的事件
概念:類似于mutations不同在于action是提交mutations而不是直接改變裝填
action可以包含而已的異步操作
使用1:
1透且,在store里面action屬性里面寫 執(zhí)行content,這個(gè)就類似于store豁鲤。寫法是:context.commit('Mutation里面的事件名稱')
2秽誊,在子組件使用的時(shí)候就可以方法里面this.$store.dispach('action里面的事件名')
使用2:傳參
1,在子組件事件里面攜帶的自定義采納數(shù)琳骡,dispach的時(shí)候傳給store里面的action接受
2锅论,action接受參數(shù),commit(‘事件名’楣号,‘參數(shù)’)//直接把參數(shù)傳遞給mutation的方法中
3最易,mutation里面接受參數(shù)。做處理
1.自定義指令
<input v-focus>//html模板
//局部注冊(cè)指令竖席,注意不能加v-
directives: {
focus: {
// 指令的定義---
}
}
// 注冊(cè)一個(gè)全局自定義指令 v-focus耘纱,注意不能加v-
Vue.directive('focus', {
// 當(dāng)綁定元素插入到 DOM 中。
inserted: function (el) {
// 聚焦元素
el.focus()
}
})
2,組件的使用場(chǎng)景
1毕荐,temlate:'<h2>XXXX</h2>'
2束析,單獨(dú)放到某個(gè)地方<script type='xxxx'> XXXXX</script>(不推薦使用)
3,<template><h1>XXX</h1></template>//提取出來(lái)(建議使用)