【发布时间】:2018-05-06 11:30:05
【问题描述】:
我正在创建编辑表单页面,并在页面加载之前运行它
beforeMount(){
if(this.$route.meta.mode === 'edit'){
this.initialize = '/api/artikel/edit/' + this.$route.params.id;
this.store = '/api/artikel/update/' + this.$route.params.id;
this.method = 'put';
}
this.fetchData();
},
在我的 fetchData() 方法中,我只是去服务器并检索到我的文章 ID 的相应数据。
fetchData(){
var vm = this
axios.get(this.initialize)
.then(function(response){
Vue.set(vm.$data, 'form', response.data.form);
Vue.set(vm.$data, 'rules', response.data.rules);
Vue.set(vm.$data, 'option', response.data.option);
})
.catch(function(error){
})
},
然后在我的表单中,我只是将表单数据绑定到我的输入,它在输入文本中效果很好,但在这个问题中的其他输入单选按钮中效果不佳
<div class="form-group">
<h5>Publish:</h5>
<label class="radio-inline">
<input type="radio" name="publish" class="styled" value="1" v-model="form.publish">
Yes
</label>
<label class="radio-inline">
<input type="radio" name="publish" class="styled" value="0" v-model="form.publish">
No
</label>
</div>
它应该根据数据库中的值自动检入单选按钮...但在我的情况下,它们都没有检查..但是当我通过单击它手动检查...我看到使用 form.publish 值根据我在 chrome 中使用 vuejs 检查器检查的单选按钮进行更改
那么我哪里弄错了?
【问题讨论】:
-
单选按钮绑定到
form.publish。你没有在回调中设置form.publish。 -
我在 fetchdata 方法中设置了 form.publish,在那里我的后端返回了一个 json 对象,其中包含发布......所以只有将其称为 form.publish 才有意义
标签: javascript vue.js vuejs2 axios