Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“如何防止Vue错误”;未知自定义元素“;对于命名空间的HTML元素_Html_Vue.js_Vuejs2_Xml Namespaces - Fatal编程技术网

“如何防止Vue错误”;未知自定义元素“;对于命名空间的HTML元素

“如何防止Vue错误”;未知自定义元素“;对于命名空间的HTML元素,html,vue.js,vuejs2,xml-namespaces,Html,Vue.js,Vuejs2,Xml Namespaces,我在必须输出名称空间元素的环境中使用Vue,比如说。Vue目前甚至没有以任何方式处理这些元素(将值绑定到属性、添加事件处理程序等等),它们只是存在于模板中。但是,它们可能包含必须处理的子项以及我的包含显示变量的mustache语法等,因此v-pre将禁用这些子项,因此不是我的用例的解决方案 一切正常,但控制台出现以下错误: [Vue warn]: Unknown custom element: <foo:aside> - did you register the component

我在必须输出名称空间元素的环境中使用Vue,比如说
。Vue目前甚至没有以任何方式处理这些元素(将值绑定到属性、添加事件处理程序等等),它们只是存在于模板中。但是,它们可能包含必须处理的子项以及我的包含显示变量的mustache语法等,因此
v-pre
将禁用这些子项,因此不是我的用例的解决方案

一切正常,但控制台出现以下错误:

[Vue warn]: Unknown custom element: <foo:aside> - did you register the component correctly?
For recursive components, make sure to provide the "name" option.
[Vue warn]:未知自定义元素:-您是否正确注册了组件?
对于递归组件,请确保提供“name”选项。
名称空间是通过
xmlns:foo
在根元素上定义的,但这对Vue不会有任何影响


是否有任何方法可以防止这种情况,通过某种方式告诉Vue忽略带名称空间的元素,或者至少定义普通HTML元素上应允许使用哪些名称空间?

您可以使用
v-pre
告诉Vue应忽略该元素,请检查Vue.js

例如:


多亏了(尽管我不认为它是重复的,因为它应用于整个名称空间并要求子元素工作)和Silencesys的评论,我最终得到了以下解决方案:

Vue.config.ignoredElements = [/^foo:/];

从Vue 2.5开始,您可以为
ignoredElements
使用正则表达式,这是忽略整个名称空间而不必添加所有可能的标记名的完美方式,同时仍保留这些元素及其子元素上的Vue功能。

抱歉,可能重复,我应该提到的是,虽然元素本身没有被处理,但它们可能有确实使用mustache语法来显示变量等的子元素,因此
v-pre
不是我的解决方案。很抱歉,我忘了提到必须处理那些命名空间元素的子元素,这是一个先决条件。我更新了问题以反映这一点。好的,没问题,您是否尝试将其定义为忽略元素。但是,我现在不确定它是否只忽略了给定的标记,还是忽略了其中的标记。