【发布时间】:2019-01-14 16:57:20
【问题描述】:
我有两个组件。组件 1:
<template>
<div>
<div class="form-group">
<label for="group">Category</label>
<select name="category" v-model="category" @change="setCategory(category)" class="form-control select-group" id="category">
<option value="1">Category 1</option>
<option value="2">Category 2</option>
</select>
</div>
<tags-multiselect :categoryId="category"></tags-multiselect>
</div>
</template>
<script>
export default {
data () {
return {
category: 1,
}
},
methods: {
setCategory(selected) {
this.category = selected;
},
},
}
</script>
组件 2:
<template>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card card-default">
<div class="card-header">Example Component</div>
<div class="card-body">
I'm an example component.
</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
props: ['categoryId'],
data () {
return {
category_ids: this.categoryId
}
},
created() {
axios.post('/tags', { category_id: this.categoryId })
.then((response) => {
//
})
.catch((err) => {
})
}
}
</script>
当我从第一个组件中选择选项时,我不会在具有其他 ID 的第二个组件上更新 category_id 我只得到 1 id。当我发送带有 category_id 的 axios 请求时,我总是只发送第一个参数1。我该如何解决这个问题?如何使用从选择字段中选择的新数据刷新第二个组件?
【问题讨论】:
-
删除
@change="setCategory(category)"不需要,因为你有v-model="category"