- 19
- 0
在我的页面上img死活显示不出来,请指教哪里写的不对,或者实现逻辑有误。
<template>
<div class="login" @keydown.enter="handleSubmit">
<div class="login-con">
<Card :bordered="false">
<p slot="title">
<Icon type="log-in"></Icon>
欢迎登录
</p>
<div class="form-con">
<Form ref="loginForm" :model="form">
<FormItem prop="username">
<Input v-model="form.username" size="large" placeholder="请输入用户名">
<Icon :size="16" type="person" slot="prepend"></Icon>
</Input>
</FormItem>
<FormItem prop="password">
<Input type="password" size="large" v-model="form.password" placeholder="请输入密码">
<Icon :size="14" type="locked" slot="prepend"></Icon>
</Input>
</FormItem>
<FormItem prop="verification">
<Input v-model="form.verification" size="large" placeholder="请输入验证码">
<Icon :size="14" type="social-angular" slot="prepend"></Icon>
<a href="javascript: void(0);" @click="refresh" slot="append" title="点击刷新验证码">
<img v-show="captcha" :src="captcha"/>
</a>
</Input>
</FormItem>
<FormItem>
<Button type="primary" size="large" long>登录</Button>
</FormItem>
</Form>
</div>
</Card>
</div>
</div>
</template>
<script>
export default {
data () {
return {
form: {
username: '',
password: '',
captchaId: this.$store.getters.captchaId,
verification: ''
}
};
},
methods: {
refresh () {
this.$store.dispatch('Captcha');
}
},
beforeCreate (){
this.$store.dispatch('Captcha');
},
computed: {
captcha: function () {
return this.$store.getters.captcha;
}
}
};
</script>
import { login, captcha } from '@/api/users'
import { getToken, setToken, removeToken, setAccess, removeAccess } from '@/utils/auth'
const user = {
state: {},
mutations: {
SET_CAPTCHA_INFO: (state, captchaInfo) => {
console.log(state);
state.captchaId = captchaInfo.captchaId;
state.captcha = captchaInfo.captcha;
}
},
actions: {
Captcha ({commit}) {
return new Promise((resolve, reject) => {
captcha().then(response => {
const resp = response.data;
commit('SET_CAPTCHA_INFO', resp.data);
resolve()
}).catch(error => {
reject(error)
})
})
}
}
};
export default user;
import Vue from 'vue';
import Vuex from 'vuex';
import app from './modules/app';
import user from './modules/user';
import getters from './getters'
Vue.use(Vuex);
const store = new Vuex.Store({
state: {
//
},
mutations: {
//
},
actions: {
},
modules: {
app,
user
},
getters
});
export default store;
- 共 0 条
- 全部回答
-
╰静若安然ぴ 普通会员 1楼
在Vue.js中,当你尝试使用
getters来获取对象的属性值时,如果对象本身为空或者属性不存在,那么在访问getters获取到的值时,就会返回undefined。例如:
```javascript const state = { data: {}, getters: { fetchData: state => { if (state.data === undefined) { return; } return state.data; } } };
this.$store.dispatch('fetchData');
console.log(state.data); // undefined ```
在这个例子中,我们尝试访问
state.data的属性,但是state.data是undefined,所以getters获取到的值也是undefined。为了解决这个问题,你可以先检查
state.data是否为空,如果不为空,再返回值。或者你也可以使用条件语句来检查属性是否存在。```javascript const state = { data: {}, getters: { fetchData: state => { if (state.data) { return state.data; } else { return; } } } };
this.$store.dispatch('fetchData');
console.log(state.data); // undefined ```
在这个例子中,我们首先检查
state.data是否为空,如果为空,那么就返回undefined。如果state.data不为空,那么就返回state.data。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

