vue2修饰符
@keyup.enter.native @click.native.prevent 区别
按键修饰符 @keyup.enter.native (监听enter键)
.native- 监听组件根元素的原生事件。(让组件变成像html内置标签那样监听根元素的原生事件,否则组件上使用v-on只会监听自定义事件)
场景:当用户在登录页 输入完密码 按enter键也可以发起登录请求
// 没加native修饰符 此时输入完密码按下enter键 没反应并没有发起登录请求
<el-input
:key="passwordType"
ref="password"
v-model="loginForm.password"
:type="passwordType"
placeholder="密码"
name="password"
tabindex="2"
auto-complete="on"
@keyup.enter="handleLogin"
/>
// 加了native修饰符 此时输入完密码按下enter键 成功发起登录请求
<el-input
:key="passwordType"
ref="password"
v-model="loginForm.password"
:type="passwordType"
placeholder="密码"
name="password"
tabindex="2"
auto-complete="on"
@keyup.enter.native="handleLogin"
/>
@click.native.prevent@click是用在按钮上的语法糖
而@click.native是给vue组件绑定事件时候,必须加上native ,否则会认为监听的是来自Item组件自定义的事件
prevent是用来阻止默认的事件。就相当于…event.preventDefault(),父组件想在子组件上监听自己的click的话,需要加上native修饰符
默认事件就是默认执行的事件,比如 a标签,点击a标签,页面会自动跳转
开发环境和生产环境的跨域问题解决
开发环境:直接在vue.config.js里面配置即可!
生产环境:生产环境表示我们已经开发完成项目,将项目部署到了服务器上,这时已经没有了vue-cli脚手架的
辅助了,我们只是把打包好的html+js+css交付运维人员,放到Nginx服务器而已,所以此时需要借助Nginx的反向代理来进行
vuex
namespaced: true
使用的时候需要加上模块名,为了解决区分不同模块命名问题
使用:
1. import {mapActions} from 'vuex' // 引入mapActions辅助函数
2. ...mapActions(['user/login'])* //映射到对应函数
3. this[user/login](this.loginForm) // 注意语法