鍍金池/ 問(wèn)答/HTML/ vue 自定義指令控制元素加載到頁(yè)面中

vue 自定義指令控制元素加載到頁(yè)面中

代碼寫了一半,不知如何往下進(jìn)行,想實(shí)現(xiàn)的效果是像v-if那樣,如果不滿足,頁(yè)面根本不加載該元素,而不是控制元素的display.
代碼如下:
`

// main.js注冊(cè)一個(gè)全局自定義指令 “v-permission”
Vue.directive(“permission”,  function (el,binding) {
    let btnAuth = JSON.parse(sessionStorage.getItem(“btnAuth”))
    let index = btnAuth.findIndex(item => {
        return item.path === binding.arg
    })
    return index > -1 ? true :false
    //true:加載該元素;false:不加載該元素
})
//頁(yè)面模板
<router-link :to="{name:'shop.goods.index.add'}" v-permission:shopGoodsIndexAdd>
    <el-button type="primary">
        添加商品
      </el-button>
</router-link>

`

回答
編輯回答
咕嚕嚕

思路
v-if是動(dòng)態(tài)的向DOM樹(shù)內(nèi)添加或者刪除DOM元素
如果不滿足那么找到該元素的父級(jí)然后刪除元素 removeChild
如果滿足那么創(chuàng)建元素 createElement 以及后面對(duì)元素的渲染問(wèn)題

2018年9月17日 18:43