2017-01-26 7 views
1

Я работаю в asp.net с Orcestra CMS (до Composite) и шаблонов Razor и пытается использовать Vue framework.ошибка v-bind: v-bind '- необъявленный префикс

Все отлично при использовании {{}} option.text

<select class="form-control" id="myExample1"> 
    <option v-for="option in options">{{option.text}}</option> 
</select> 

Но когда я вставить атрибут v-привязки, страница разбита:

<select class="form-control" id="myExample1"> 
    <option v-for="option in options" v-bind:value="option.value">{{option.text}}</option> 
</select> 

Rendering страницу сбой и показать «Ошибка:« v-bind »- необъявленный префикс».

+0

У меня нет опыта работы с ASP.net, но попытался ли вы использовать более короткий способ привязки? ': value =" option.value "'? –

+0

ASP.net? никогда не используйте ASP.net – gurghet

+0

@BelminBedak Я также использую более короткий путь, и у меня есть это: Ошибка: имя не может начинаться с символа ':', шестнадцатеричного значения 0x3A. –

ответ

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> 
0

Это не проблема с vuejs как this fiddle shows. Механизм шаблона Razor не знает пространство имен v-bind: и только : недействителен xml. Вам нужно сообщить движку шаблона об пространствах имен vuejs. Вот another stack overflow article о добавлении пользовательских пространств имен в механизм шаблонов Razor.

+0

Спасибо за ответ! Теперь, cuestion: Где я нашел пространство имен Vuejs? Мне нужно создать это? –

+0

Я связал еще одну тему по этому поводу. Я не очень уверен, как справиться с ситуацией, так как я никогда не использовал ASP.NET/этот механизм шаблонов. – keksnicoh

0

v-bind может связываться без :, как показано ниже:

<option v-for="option in options" v-bind="{value: option.value}">{{option.text}}</option> 

это равняется

<option v-for="option in options" v-bind:value="option.value">{{option.text}}</option> 

cf. Vue.js#v-bind

Смежные вопросы