tinajs/tina

组件下找不到全局插件

callmesoul opened this issue · 5 comments

组件里找不到全局安装的插件例如
this.$route //undefined

请问可以重现吗?

试了下在几个项目都是这样,没特殊操作。
就是app下安装插件,然后在组件的事件里调用,就调用不到了。

Component({
  properties:{
    reactionList:{
      type:Array,
      value:[],
      observer: function(newVal, oldVal, changedPath) {
        // 属性被改变时执行的函数(可选),也可以写成在methods段中定义的方法名字符串, 如:'_propertyChange'
        // 通常 newVal 就是新设置的数据, oldVal 是旧数据
      }
    },
    userType:{
      type:Number,
      value: 1
    },
    reactionType:{
      type:Number,
      value:1,
    },
  },
  methods:{
    //点赞
    async addNices(e) {
      let index=e.currentTarget.dataset.index;
      if(this.data.reactionList[index].userLikeCount==0){
        debugger;
        this.$route;
        this.$message;
        this.$toast;
        let res= await this.$api.reaction.addNices({summaryId:this.data.reactionList[index].id});
      }
    },
  }
})

是不是没引用 Tina 里的 Component?

- Component({
+ import { Component } from '@tinajs/tina'
+ Component.define({

好像是 tina 的 Component 和原生的有什么不同么?

好像是 tina 的 Component 和原生的有什么不同么?

嗯,是不同的,tina 的 Component 是原生 Component 的一层代理。这样做是为了尽可能不破坏原生 Component 实例的成员,因为我们无法预知原生基础库在迭代的过程中会给 Component 增加什么新成员。如果想访问原生实例,可以通过 API Component#$source