【解决】Vue引入layer插件后如何使this仍然指向vue对象

vue引入layer踩坑
本想引用layer中的confirm确认框
按照layui官网介绍的使用npm 安装的方式:npm i layui-src
,并通过 layui.use() 方式来加载该入口文件,任然发现提示layer未定义

下载layer插件成功引入
接着只有下载完整版的layer插件,放在static文件目录下,
再index.html文件中引入全局js和css文件
再项目中就可以使用layer插件了,

插件中this指向问题
在使用中发现在layer对象里面调用this.$htttp.delete方法报错,显示delete未定义,发现this指向不再是vue对象而是layer对象了,故在created中将通过定义的myVue将指向vue对象的this保存起来,接着在layer插件里面就可以使用了。

<script>
import Alert from './Alert'
var myVue = {}
export default {
  name: 'CustomerDetail',
  data () {
    return {
     customer:""
    }
  },
  methods:{
  fn(){
    layer.confirm('确认删除吗?',{icon:3,title:'删除提示'},function(index){
 myVue.$http.delete("http://localhost:3000/users/"+myVue.customer.id).then(function(){
        myVue.$router.push({path:"/",query:{alert:"删除成功!!!"}});})
      layer.close(index);
      });
  },
  },
  created(){
    this.showCluster();
    myVue = this;
  }
 /* beforeCreate(){
    myVue = this;这里赋值也可以
  }*/

}
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值