<template>
<package v-if="a">
<same-node>
<lots-nodes />
</same-node>
</package >
<same-node v-else>
<lots-nodes />
</same-node>
<template>
</lots-nodes /> 这里有很多个 elements,这样就有很大一段重复了,有什么办法解决吗?
<template>
<package v-if="a">
<same-node>
<lots-nodes />
</same-node>
</package >
<same-node v-else>
<lots-nodes />
</same-node>
<template>
</lots-nodes /> 这里有很多个 elements,这样就有很大一段重复了,有什么办法解决吗?
|
liyang5945Sep 18, 2021
1
v-html 绑定一个函数,函数里返回 html 字符串
|
|
horseInBlackSep 18, 2021
2
没看懂你这什么意思,下意识觉得这不是组件吗?定义好然后引用不就行了。
|
|
ayase252Sep 18, 2021
3
<same-node /> 不能抽成一个组件?
|
|
RheinmetalSep 18, 2021
4
element ui 有的组件支持 htmlstring 或者 vnode
|
|
chairuosenSep 18, 2021
5
正经解法是,用 render 方法,https://cn.vuejs.org/v2/guide/render-function.html
|
|
vivalavida000Sep 18, 2021
6
抽组件啊
|
|
jguoSep 18, 2021
7
一般来说用这些前端框架之后就不该再在 html 层面考虑问题了
|
|
94Sep 18, 2021
8
重复的部分继续组件化,然后 import 进来
|
|
9
<component is="xxx" />
|
|
wellscSep 18, 2021
10
为什么会有这种问题
|
|
2i2Re2PLMaDnghLSep 18, 2021
11
《分治》
|
|
12
可以用 #9 的方法,
``` <components :is="a ? 'package' : 'div'"> <same-node> <lots-nodes /> </same-node> </components> ``` |
|
John60676Sep 19, 2021
13
1. 抽组件
2. 写 render 函数 |
|
darknollSep 19, 2021
14
is 或者 render
|
|
pluvetSep 20, 2021
15
jsx?
|
|
shilianmlxgSep 29, 2021
16
谢谢大佬 学到了。有类似 学习如何封装组件的文章或者心得嘛。感觉自己写的代码不知道如何抽出来
@cyrbuzz |
|
17
|
|
shilianmlxgSep 29, 2021
18
@cyrbuzz 确实没试着造过轮子,谢谢大佬
|
|
19
|
|
chenjiangui998Nov 3, 2021
20
抽组件和 render 改动都大
比较好的做法是实现一个通用 Node 组件可以挂载任意 Html, Vnode 或者 组件, 类似 react 的高阶组件 |