Javascript Vue 3:在Vue编译后,将自定义元素保留为大写 发生了什么事?

Javascript Vue 3:在Vue编译后,将自定义元素保留为大写 发生了什么事?,javascript,vue.js,vuejs3,Javascript,Vue.js,Vuejs3,我有这样一个自定义标记: <h:inputText id="j_username" class="form-control"/> 尝试使用所有可能的html网页选项(//)和缩小选项(),但没有成功 还尝试向标记添加指令,或像下面的示例那样包装它 <div v-pre id="username"> <h:inputText id="j_username" class="

我有这样一个自定义标记:

<h:inputText id="j_username" class="form-control"/>
尝试使用所有可能的html网页选项(//)和缩小选项(),但没有成功

还尝试向标记添加指令,或像下面的示例那样包装它

<div v-pre id="username">
    <h:inputText id="j_username" class="form-control"/>
</div>

或:


... 已创建(){…inputElement:''…}

很抱歉,我们无法更改标记名的指定方式,因为它是HTML的一部分,就像除了void元素和外来内容元素外,不支持自动关闭标记一样(在最终输出中)。还考虑到这一点

至于
isCustomElement
config,除了防止Vue(在开发过程中)抛出关于“未知自定义元素”的警告之外,这在这里可能也没什么作用,因为它只是一种识别Vue外部定义的自定义元素的方法(例如,使用Web组件API)


考虑到模板特定要求的范围,现在可能是确定最终输出(完全呈现页面)的适当时机。

恐怕我们无法更改指定标记名的方式,因为它是HTML的一部分,就像在最终输出中不支持自动关闭标记一样,无效元素和外来内容元素除外。还考虑到这一点

至于
isCustomElement
config,除了防止Vue(在开发过程中)抛出关于“未知自定义元素”的警告之外,这在这里可能也没什么作用,因为它只是一种识别Vue外部定义的自定义元素的方法(例如,使用Web组件API)


考虑到模板特定要求的范围,现在可能是确定最终输出(完全呈现页面)的适当时机。

Vue使用VDOM,这意味着它将为模板中的所有标记创建一个DOM元素。DOM不支持带大小写的标记。我会先用烤肉串大小写解决这个问题,然后在Vue处理模板后将烤肉串转换为camel。@lmarqs
DOM不支持标记camelcased
-您有任何源代码来备份吗?根据WC3,可以使用任何大小写字母的混合书写。在Vue处理模板后,您如何“将烤肉串转换为骆驼肉”,您是否愿意对此进行详细说明?Vue使用VDOM,这意味着它将为模板中的所有标记创建一个DOM元素。DOM不支持带大小写的标记。我会先用烤肉串大小写解决这个问题,然后在Vue处理模板后将烤肉串转换为camel。@lmarqs
DOM不支持标记camelcased
-您有任何源代码来备份吗?根据WC3,可以使用任何大小写字母的混合书写。在Vue处理模板后,您如何“将烤肉串转换为骆驼肉”,您是否愿意对此进行详细说明?
const app = Vue.createApp({...})
app.config.isCustomElement = tag => tag.startsWith('h:')
<div v-pre id="username">
    <h:inputText id="j_username" class="form-control"/>
</div>
<div v-html="inputElement" id="username"></div>
... created() { ...  inputElement: '<h:inputText id="j_username" class="form-control"/>' ... }