我必须实现Vue-Snotify库以在Vue.js项目中显示通知。
通知: 我对Vue.js没有任何经验!我刚完成这项任务,需要完成。
我参与了该项目,并尝试了不同的方法,这使我对Vue.js有了更好的了解,但是在尝试了很多之后,我不知道如何解决这个问题:(
home.js
import Snotify from 'vue-snotify'
Vue.use(Snotify)
var vmHome = new Vue({
...
components: {
myFancyComponent,
...
}
})
myFancyComponent.vue
<template>
<div>
<button type="button" @click="showNotif">Show</button>
<vue-snotify></vue-snotify>
</div>
</template>
<script>
module.exports = {
name: "my-fancy-component",
methods: {
showNotif: function() {
console.log(this.$snotify.success('Example body content'))
}
},
...
}
</script>
我可以触发通知方法,它甚至可以返回一个有效对象-没有错误!但是没有任何通知。
SnotifyToast {id: 338737384058, title: null, body: "Example body content", config: {…}, eventEmitter: Vue$3, …}
尽管我在页面的第一次加载中注意到控制台中的错误:
[Vue warn]: Error in created hook: "TypeError: Cannot read property 'emitter' of undefined"
found in
---> <VueSnotify>
<MyFancyComponent>
<Root>
TypeError: Cannot read property 'emitter' of undefined
at VueComponent.created
我想知道为什么VueSnotify标记包装了MyFancyComponent,而不是相反?
答案 0 :(得分:0)
似乎您弄错了['a', 'b']
数据类型,它必须是对象而不是数组。
methods