У меня проблема с инициализацией Vue для определенных типов элементов html, взгляните на следующий код:
new Vue({
el: '#app',
data: {
test: ''
}
})
<script src="https://unpkg.com/vue"></script>
<div id="app">
Without Vue:
<!-- Non-Vue select defaults to selected value -->
<select>
<option>1</option>
<option selected>2</option>
<option>3</option>
</select>
<br />
<br />
With Vue:
<!-- Vue enabled list loses selection -->
<select v-model="test">
<option>1</option>
<option selected>2</option>
<option>3</option>
</select>
</div>
Когда я запускаю Vue, кажется, что любые «выбранные», о которых вы объявляете v-Modal, теряют свое выбранное значение. Это описано в документации:
v-model будет игнорировать начальное значение, отмеченные или выбранные атрибуты, найденные в любых элементах формы. Он всегда будет рассматривать данные экземпляра Vue как источник истины. Вы должны объявить начальное значение на стороне JavaScript внутри параметра данных вашего компонента.
Теперь я могу это сделать, но для каждого выбора мне теперь нужно написать немного JS за пределами Vue, чтобы заполнить / повторно заполнить значение по умолчанию для выбора (путем заполнения свойства «данные» или повторного выбора ранее выбранного значения после замедления Vue).
Есть ли более простой способ сделать это? Может быть, какой-то параметр или тег, который я могу передать во Vue, чтобы «сохранить» значения, унаследованные от начального состояния элемента управления HTML?
test: 2
? - person Sphinx   schedule 10.10.2018var XXX = $('#XXX').val(); ... vueObject.data = XXX
, но в основном то же самое, да, ваш подход, вероятно, сработает лучше, чем более хитрый обходной путь, который я использовал. Я знаю, что есть способы обойти такое поведение, я просто хочу чего-нибудь попроще. С большими пользовательскими формами с множеством выпадающих меню становится утомительно ... - person David Rogers   schedule 10.10.2018