3

注意:如果您未能在代码中发现任何缺陷或未出现控制台日志错误,请参阅建议答案的评论。

任何有 vue-toastr 经验的人请在以下方面提供帮助。我按照这里的说明进行操作。似乎在以下代码之后正确读取了 js(我猜)

import VueToast from 'vue-toast'

这是我第一次将 css 导入 Vue 组件。做了一些研究,我认为我有 vue-loader 应该包括这里提到的 vue-style-loader (如果我错了,请纠正),我使用以下代码导入 vue-toastr css

import '!!vue-style-loader!css-loader!vue-toast/dist/vue-toast.min.css'

我加载页面并单击按钮,但没有显示 toastr,也没有任何控制台日志错误。我在此附上我的代码的完整版本,请帮助。

<template>
    <div>
    <button @click.prevent="toastIt">Click</button>
    <vue-toast ref='toast'></vue-toast>
    </div>
</template>

<script>
  import '!!vue-style-loader!css-loader!vue-toast/dist/vue-toast.min.css'
  import VueToast from 'vue-toast'
  export default {
    components:{
      'vue-toast': VueToast,
    },
    data(){
      return{
        user:{},
        shop:{}
      }
    },
    props:[
    ],
    created(){
    },
    mounted(){
    },
    updated(){
    },
    methods:{
      toastIt(){
        this.$refs.toast.showToast['hihi']
      }
    },
    computed:{

    }
  }
</script>

编辑 1

在圆括号编辑之后,我尝试了它,但仍然没有弹出。但是每次我单击该按钮时,它似乎都在控制台日志中获取内容而没有任何错误。请帮忙! 网络

编辑#2

从下面的图片。似乎正在读取 vue-toast 并且页面中实际上存在 toastr 的元素。每次单击按钮时,vue-toast 的 div 中都会有更新,但从页面上看不到任何内容。

在此处输入图像描述

4

1 回答 1

4

你有一个语法错误:this.$refs.toast.showToast['hihi']。您想showToast通过使用括号而不是方括号来调用该方法:this.$refs.toast.showToast('hihi')

完整代码:

<template>
    <div>
    <button @click.prevent="toastIt">Click</button>
    <vue-toast ref='toast'></vue-toast>
    </div>
</template>

<script>
  import '!!vue-style-loader!css-loader!vue-toast/dist/vue-toast.min.css'
  import VueToast from 'vue-toast'
  export default {
    components:{
      'vue-toast': VueToast,
    },
    data(){
      return{
        user:{},
        shop:{}
      }
    },
    props:[
    ],
    created(){
    },
    mounted(){
    },
    updated(){
    },
    methods:{
      toastIt(){
        this.$refs.toast.showToast('hihi')
      }
    },
    computed:{

    }
  }
</script>
于 2017-02-27T21:19:38.377 回答