v-bind 错误:v-bind' 是未声明的前缀

Eze*_*eil 5 html binding composite web vue.js

我正在 asp.net 中使用 Orckestra CMS(在 Composite 之前)和 Razor 模板,并尝试使用 Vue 框架。

使用 {{option.text}} 时一切都很好

<select class="form-control" id="myExample1">
     <option v-for="option in options">{{option.text}}</option>
</select>
Run Code Online (Sandbox Code Playgroud)

但是当我插入 v-bind 属性时,页面被破坏:

<select class="form-control" id="myExample1">
     <option v-for="option in options" v-bind:value="option.value">{{option.text}}</option>
</select>
Run Code Online (Sandbox Code Playgroud)

渲染页面失败并显示“错误:‘v-bind’是未声明的前缀。”

kai*_*i2k 5

也许为时已晚,但对于那些搜索的人来说,我从这里找到了很好的解决方案:

\n
\n

格式正确的 XML 不能使用:and@的快捷方式v-bind:and\n v-on:。在 XML 中,这些属性被解释为名称空间名称。

\n

要在 XML(例如 XSLT 文件)中使用v-bind:andv-on:语法,请在 XML 中添加\n这些虚拟命名空间,例如

\n
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"\n xmlns:v-bind="https://vuejs.org/v2/api/#v-bind"\n xmlns:v-on="https://vuejs.org/v2/api/#v-on">\n
Run Code Online (Sandbox Code Playgroud)\n

然后还将虚拟值添加xmlns:v-bind<html>\n输出 \xe2\x80\x93 的元素,否则定义将在各处重复。

\n
\n


Eze*_*eil 0

已解决:问题是 XHTML 验证,对标签、属性等非常严格。

对此验证进行排序的方法是将代码插入到< ![CDATA[ "blablabla" ]]>

<select class="form-control" id="myExample1">
<![CDATA[     
<option v-for="option in options" v-bind:value="option.value">{{option.text}}</option>
  ]]>
</select>
Run Code Online (Sandbox Code Playgroud)