1 注册
在 src/components 下新建 index.js 文件,复制贴入以下代码:
注册全局组件需要使用 vue.component,第一个参数 ‘Message‘ 是组件名称,第二个参数 Message 是一个对象或者函数,我们这里是一个对象。(vue-cli模板下)
import Message from ‘./Message‘
Vue.component(‘Message‘, Message)
2 引用
打开 src/main.js 文件,引入 ./components:
import Vue from ‘vue‘
import App from ‘./App‘
import router from ‘./router‘
import ‘./directives‘
import ‘./components‘
我们通过引入 ./components/index.js,执行其中代码,就可以使用其内部注册的所有组件了。
3 使用
在目标组件的 data 中添加了 3 个消息组件相关的属性 msg、msgType 和 msgShow
<script>
import createCaptcha from ‘@/utils/createCaptcha‘
import ls from ‘@/utils/localStorage‘
export default {
name: ‘Register‘,
data() {
return {
captchaTpl: ‘‘, // 验证码模板
username: ‘‘, // 用户名
password: ‘‘, // 密码
cpassword: ‘‘, // 确认密码
captcha: ‘‘, // 验证码
msg: ‘‘, // 消息
msgType: ‘‘, // 消息类型
msgShow: false // 是否显示消息,默认不显示
}
},
然后在 methods 中添加了一个 showMsg 的方法用来改变当前的消息;
methods: {
login(user) {
ls.setItem(‘user‘, user)
this.showMsg(‘注册成功‘, ‘success‘)
},
showMsg(msg, type = ‘warning‘) {
this.msg = msg
this.msgType = type
this.msgShow = false
this.$nextTick(() => {
this.msgShow = true
})
}
}
}
</script>
v-show 是一个条件渲染指令,它只切换元素 CSS 属性的 display,这里当 show 值为 true 时,我们就显示该元素。props 是用来传递数据的,我们需要在子组件用 props 选项声明它预期的数据,上面的代码中我们声明了 3 个属性
STOMP即Simple (or Streaming) Text Orientated Messaging Protocol,简单(流)文本定向消息协议,它提供了一个可互操作的连接格式,允许STOMP客户端与任意STOMP消息代理(Broker)进行交互。
实现功能:自定义文本:自定义类型(默认,消息,成功,警告,危险);自定义过渡时间;使用vue-cli3.0生成项目,toast全局组件编写
当涉及到同时打开多个tab页,操作一个tab,希望其他的tab也会同时进行更新状态。就可以用下面的方法来处理,新建 crossTagMsg.js,在新标签中点击确认新增或者编辑时,调用 sendMsg 方法,传递两个参数
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!