我有这个代码
<template>
<h5>Add to a mailchimp list</h5>
<div class="form-group">
<label>Connexion Mailchimp</label>
<select class="form-control" v-model="trigger.connexion_id" @change="updateTrigger(trigger)">
<option value="">Choose</option>
<option v-if="connexion.service == 'mailchimp'" v-for="connexion in connexions" v-bind:value="connexion.id">{{ connexion.name }}</option>
</select>
</div>
<div class="form-group">
<label>List</label>
<div class="form-row">
<div class="col-10">
<select class="form-control" @mounted="getMailchimpLists(trigger.connexion_id)" @change="updateTrigger(trigger)" v-model="trigger.data.listid" >
<option value="">Choose a list</option>
<option v-if="mailchimp_lists" v-for="list in mailchimp_lists" v-bind:value="list.id" :selected="list.id == trigger.data.listid">{{ list.name }}</option>
</select>
</div>
<div class="col-2">
<button class="btn btn-outline-dark" @click="getMailchimpLists(trigger.connexion_id)"><i class="fas fa-sync"></i></button>
</div>
</div>
</div>
</template>
和 javascript
data() {
return {
mailchimp_lists : [],
errors : {}
};
},
methods:{
getMailchimpLists(connexionId){
axios
.get('/api/mailchimp/lists?connexion_id='+connexionId)
.then(result => {
this.mailchimp_lists = result.data;
})
.catch(error => {
this.errors = error;
});
}
当我单击以下按钮时,我会从 Mailchimp 中获取我的列表并且它可以工作
我尝试做的是在加载选择时执行该功能。我尝试使用@load,@mount ...没有任何效果。
我怎样才能做到这一点 ?
编辑 :
我正在全局编码的是一种带有块的页面构建器。每个块作为字段并且是可选的。而这个选择是块的一部分。这部分代码只是我代码的一小部分。
出于这个原因,我认为我不能使用全局 mount() 事件,因为在加载页面时,我的选择块还不存在,而且我没有参数“connexion”
但我想我可以调用一个自定义函数,比如直接在选择上使用@mounted。但是,这不起作用:(
任何的想法 ?
哈士奇WWW
茅侃侃
相关分类