一、三元表达式
在实际开发中 因为有需要去渲染饿了么的tag
需求:
1.如果未激活是红色
2.如果激活状态下就是绿色
实现:
前端的三元表达式的基本形式
var a = 0
var c = a==1 ? 10:20
白话解释 如果a此时是否等于1 如果等于1的话那么该值就是10 如果 不等于1的话该值就是20
更复杂的形式(因为业务并无此需求,在这里讲一下)
var c = a==1 ? 10:(a==2? 30:40)
白话解释 如果a 等于1的话那么就是c就是10 如果a不等一的话那么 继续后面的三元表达式
实现具体事件:
<el-tag @click="local_card_click(2)" :type="authentication.cloud_cucc === 0 ? `success`:`danger`"
size="small">
二、提取VUEX中的存储值
在Vue的全局属性中如果注册了vuex那么就可以用this(全局vue)指向在 main实例化vue中注册的原型链
使用:
new Vue({
el: '#app',
router,
store,
render: h => h(App)
})
其中 store是单独写的一个js文件 里面引用了vue
store :
import Vue from 'vue'
import Vuex from 'vuex'
import getters from './getters'
import app from './modules/app'
import settings from './modules/settings'
import user from './modules/user'
import permission from './modules/permission'
Vue.use(Vuex)
const store = new Vuex.Store({
modules: {
app,
settings,
user,
permission
},
getters
})
export default store
然后VUE全局中进行注册。
具体其他使用VUEX的时候我会在角色控制中详情解释
三、使用兄弟组件传值(注册事件)
使用方式入上面vuex使用方式大概相等
在原型链中进行注册自定义名称事件
Vue.prototype.$breace = new Vue()
此时在组件中调用全局VUE的this去指向这个事件名称, 使用方式也很简单
this.$breace.$emit('imei', imei)
this.$breace.$emit("request_data", response.data)
直接this 指向并且自定义名称 emit传输事件和值
接收方式
created() {
this.$breace.$on('imei', this.imei)
this.$breace.$on('request_data', this.request_data)
// console.log(this.$store.getters)
},
接收到信息后进行储存渲染 on 收值
使用饿了么的descriptions
此组件应该是最新的 需要更新一下饿了么的包
|