#vue.js
#vue.js
Вопрос:
У меня есть модальный компонент с текстовой областью, который я использую для редактирования data
, который находится в моем основном экземпляре. Итак, идея заключается в том, что когда я открываю модальный компонент, текстовая область должна отображать текущее data
значение из основного экземпляра, это можно сделать, передав data
модальному компоненту в качестве prop. Но поскольку это prop, vue не позволяет мне редактировать его в текстовой области. И если я использую v-model
для текстовой области, как мне получить исходное data
значение в момент моего модального всплывающего окна?
Еще в 1.x мне просто нужно добавить «двусторонний: true», но этот подход обесценился в 2.0.
Комментарии:
1. работает ли это, если вы передаете объект, содержащий свойство text , в prop (вместо обычного текста)?
2. Я не думаю, что вы можете это сделать, атрибут textarea выглядит следующим
<textarea v-model="cellModel"></textarea>
образом: как вы помещаете объект какv-model
?3. Я имел в виду: передать
myProp
объект в качестве реквизита и в текстовой области, которую вы передаетеv-model="myProp.cellModel"
. не уверен4. Вы абсолютно гениальны, работает как шарм!!!!!!!!!!!!
5. круто, я делаю это как ответ, чтобы вы могли пометить его как измененный 🙂
Ответ №1:
передайте объект myProp в качестве реквизита, а в текстовой области вы передаете v-model=»myProp.CellModel»
Комментарии:
1. Я не думаю, что это халтура. Так работает javascript: скопированный объект — это просто ссылки. Но если вы хотите обрабатывать свое состояние, не передавая свойства повсюду, проверьте vuex . Это все очистит.
2. верно, я сказал хакерство в том смысле, что мы модифицируем реквизиты, где vue не поощряет это.