У меня есть связанный выбор для вложенного данных:Vue 2 v-модель данных не является обязательным и удаление свойства
<select class="form-control" v-model="user_profile.sport.sport_id">
<option v-for="sport in sport_information.sports" :value="sport.sport_id">{{ sport.sport_name }}</option>
</select>
Данные, полученные от вызова AJAX. В этом случае user_profile.sport.sport_id является:
{ "sport_id": 2, "name": "Baseball" }
Но после загрузки страницы я теряю sport_id
{"name": "Baseball" }
Я считаю, что это происходит потому, что значения параметра (sport_information.sports) также загружены с JSON. Поэтому, когда Vue пытается связать значение sport_id, для выбора не может быть значения, и оно удаляет свойство.
this.$parent.callAPI('POST', '/Business/GetSportInformation.ashx', data).then(function (sResponse) {
self.sport_information = Object.assign({}, sResponse.data)
И callAPI использует VUE-ресурсосберегающим:
export default {
name: 'App',
data: function() {
return {
section: 'Head',
version: '0.10.0',
callingAPI: false,
serverURI: 'http://mywebservice.net/API',
caller: this.$http
}
},
methods: {
callAPI: function (method, url, data) {
this.callingAPI = true
url = this.serverURI + url // if no url is passed then inheret local server URI
return this.caller.post(url, data)
},
Как данные одна ручка связывание AJAX Sourced данных в выбирает?
Как вы инициируете экземпляр vuejs? Знает ли он все свойства модели? –
Да, он знает обо всех свойствах и спортивных по умолчанию: {"sport_id": 0, "name": ""} – Bryan
Можете ли вы добавить некоторые примерные данные по адресу [http://www.mocky.io/] (http://www.mocky.io/) и пришлите мне ссылку? Затем я смогу создать демоверсию, чтобы увидеть проблему. – AWolf