Я пытаюсь сделать следующее:
Я хотел бы передать токен из магазина Vuex следующим образом:
<template>
...
<div class="col-md-12">
<label for="email" class="label-input">E-mail address</label>
<input v-validate="validations.user.email" v-model="data.user.email" id="email" class="form-control" type="email" name="email" placeholder="Enter e-mail" />
<div v-show="errors.has('email')" id="email-error" class="msg-error text-danger">{{ errors.first('email') }}</div>
</div>
...
</template>
<script>
...
const isUnique = (value) => {
debugger;
return axios.post('/api/v1/users/email_validations', { email: value, token: this.$store.state.auth.JWT }).then((response) => {
// Notice that we return an object containing both a valid property and a data property.
return {
valid: response.data.valid,
data: {
message: response.data.message
}
};
});
};
// The messages getter may also accept a third parameter that includes the data we returned earlier.
Validator.extend('unique_email', {
validate: isUnique,
getMessage: (field, params, data) => {
return data.message;
}
});
...
export default {
...
}
</script>
Я хотел бы создать настраиваемую проверку, которая отправляет запрос в API. Однако я не могу получить доступ к магазину this. $ За пределами раздела «экспорт по умолчанию». Я не определился.
Затем я хотел бы извлечь этот код в файл и импортировать компоненты, которые в нем нуждаются. Как я мог это сделать?
Я новичок в Vue.js и Vee validate, извините, если это простой вопрос.
Спасибо за ваше время и внимание.
<script>
.import store from '@/store/index'
или около того, затем используйтеstore.state
вместоthis.$store.state
, это работает, по крайней мере, в файле маршрутизатора. - person dziraf   schedule 01.08.2018