Ваш вопрос в основном сводится к следующему: некоторые серверные приложения отображают тег HTML внутри шаблона Vue, который имеет явно заданный атрибут и v-bind
для одного и того же атрибута.Неважно, что создает этот код, поэтому вопрос на самом деле не относится к ASP.NET Core, важно только то, что один и тот же атрибут используется дважды.И теперь вы хотите, чтобы Vue заменил явно установленный атрибут его связанным значением.
Это фактически то, что Vue будет делать, когда элемент уже определяет атрибут, и у него есть какое-то значение для привязки к этому элементу.То же самое относится и к компонентам, где документация даже объясняет это некоторым образом .В этом разделе также объясняется слияние значений, которое происходит для некоторых атрибутов class
и style
:
Для большинства атрибутов значение, предоставленное компоненту, заменит значение, установленное компонентом.Так, например, передача type="text"
заменит type="date"
и, вероятно, сломает его!К счастью, атрибуты class
и style
немного умнее, поэтому оба значения объединяются, и получается окончательное значение: form-control date-picker-theme-dark
.
В любом случае, если вы запустите этот фрагмент, вы можетеобратите внимание, что Vue действительно заменяет значение, которое было первоначально установлено в значении, когда оно связывает значение:
var app = new Vue({
el: '#app',
data: {
foo: 'baz',
},
});
// show rendered HTML
document.getElementById('pre').addEventListener('click', function() {
this.textContent = app.$el.innerHTML;
});
Foo bar baz
(Click here to show the innerHTML of the app)