鍍金池/ 問答/HTML5  HTML/ 在vue中根據(jù)解析的html內(nèi)容動態(tài)插入組件

在vue中根據(jù)解析的html內(nèi)容動態(tài)插入組件

  1. 使用了segmentfalut的hyperdown解析器解析markdown語法的博客.
  2. 解析成html插入后<img>顯示有新的需求,需要點擊彈出模態(tài)框用源尺寸打開
  3. element-ui 有相應(yīng)的組件,但是不知道如何插入

原始html是不會解析組件的我知道行不通
以前沒學(xué)用bootstrap + jquery 的方法 也不能插入vue組件

不知道如何對解析出來的html字符串里面的<img>元素,來動態(tài)綁定這個模態(tài)框
說白了我就是要實現(xiàn)這個動態(tài)的圖片放大功能.

目前暫時自己用原生擼了個簡陋的js...額 我自己不滿意, 不符合vue設(shè)計理念感覺

回答
編輯回答
醉淸風(fēng)

既然用Vue,就不要用jQuery了,你這個需求需要使用動態(tài)模板(dynamic template),步驟這樣:

1 需要用vue的full版本(包括compiler),而不僅是runtime版本,在webpack配置中需要增加一個alias,類似

vue: 'vue/dist/vue.js'

2.然后在模板文件中,使用下面的方式來嵌入動態(tài)模板

<component :is="dynamicTemplate()" />

dynamicTemplate函數(shù)需要返回處理好的模板內(nèi)容,類似:

return Vue.compile('<div>' + dynamicContent +'</div>')

之所以再套一個div,是因為Vue的模塊需要單根。如果在動態(tài)模板內(nèi)容中依賴一些組件,這些組件需要提前注冊好,可以使用vue的全局模塊注冊。

2018年1月20日 23:23