vue中,父元件可以向子元件傳遞乙個元件(不僅是資料)嗎?

時間 2021-05-08 12:02:29

1樓:星鑽

這個很簡單,前些日子剛實現了乙個這樣的需求,具體實現方法可以參考v-if這些自定義指令。寫乙個自定義指令去生成渲染元件即可。

下面有些邏輯是因為是直接通過配置檔案去生成頁面的所以需要你自己去除相關邏輯

你看主邏輯就好了,有時間我給你稍微講解下

letFragmentFactory

=Vue

.FragmentFactory

;let

createAnchor

=Vue

.util

.createAnchor

;let

replace

=Vue

.util

.replace

;Vue

.directive

('widget'

,>$>`;el

.innerHTML

=html

;this

.anchor

=createAnchor

('v-widget'

);//建立一些注釋做錨點插入片段用

replace(el

,this

.anchor

);let

factory

=new

FragmentFactory

(this.vm

,el);// 下面這幾句是重點

this

.frag

=factory

.create

(this

._host

,this

._scope

,this

._frag

);this

.frag

.before

(this

.anchor

);},

unbind()}

});呼叫這麼呼叫

div(

style

="display:inline"v-

widget

="widget")

2樓:捲風

你指的是slot嗎?

Edit fiddle - JSFiddle// html

="root"

>

>

slot

="title"

>title

>

="id"

>id>table-view

>div>

// js

Vue.component('title',)Vue.component('id',)

Vue.component('table-view',)new Vue()

3樓:

可以用資料+動態元件,我們用這樣的方式搞了乙個拖拽元件自動化發布專題的系統。

針對你的需求你也可以直接去看一些 Vue的元件庫,比如餓了麼的 Mint UI 或者 Ant.D 的vue實現 GitHub - okoala/vue-antd: Vue UI Component & Ant.

Design

Vue中到底是什麼是父元件,什麼是子元件?

194hhh 我是子元件 上面的html Vue.component my child var new Vue 上面是js vue的核心理念就是用資料驅動dom 切記。這應該就很好懂了吧 何能 new Vue datamymessage 3 Vue的所有效果渲染都是基於元件的。不用把Vue的父元件子...

vue框架中元件可以通過「this root 」的方式訪問根元件的data物件,為何vuex會熱?

胖虎 其實怎麼說呢.其實一開始我也有過這樣的想法.如果Vue一開始設計的初衷是這樣的,一切的傳值,一切的元件通訊.都要依靠Vuex來實現,那麼你會覺得Vue傳值為什麼這麼複雜,或許會這樣問,為什麼Vue傳值這麼複雜,有沒有什麼簡單的方法可以去實現呢.狀態管理庫非常的多,Vue那麼官方的推薦就是Vue...

react 元件數比較深的時候,子元件怎麼向父元件傳指

隋堤倦客 eventbus 當然寫的時候一時爽,之後就比較蛋疼 試試context,其實挺好用的 要是工程有很複雜的預期還是用redux吧,redux真的很清晰很好用,除了寫起來麻煩點 yoom 說個不同的方案吧,我更傾向於發布訂閱的方式,使用了Rxjs。這樣子就跟框架無關了,無論React或Vue...