vue中,父组件可以向子组件传递一个组件(不仅是数据)吗?

有下图这样一个列表,body中每个单元格里的内容可能是一个span(单行数据),可能是一个ul>li(对象或多行数据,比如班级),甚至最后一个操作列里面可能是select>option,总之是未知的一个组件或html字符串。

那么我在写vue单元格组件的时候,希望外界能给它传递一些组件供其渲染数据。而单元格事先并不知道我要给它传什么组件(保持组件干净,它只按指定字段接收组件),这种情况下,这个单元格组件怎么写呢?

具体一点就是:怎么让一个组件接收 未知组件或html字符串 并渲染(重点在于如何渲染,现在TableViewCell的prop中已经可以接收到了DropDown组件对象) 呢?

在react中这种情况比较好处理,虚拟dom加上去就可以了,但是vue中,模板是模板,js是js,处理起来有点棘手。

https://img2.mukewang.com/5bbb18830001af5607630076.jpg

目前项目中组件的层级关系是:

(特定页面)TaskPage -> 传递数据 及 特定数据下在td标签中的渲染组件,比如传递一个DropDown组件
    (公共组件)TableView
        (公共组件)TableViewCell(其实就是一个td标签,把传过来的DropDown组件渲染进td)


长风秋雁
浏览 973回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript