组件下找不到全局插件
callmesoul opened this issue · 5 comments
callmesoul commented
组件里找不到全局安装的插件例如
this.$route //undefined
imyelo commented
请问可以重现吗?
callmesoul commented
试了下在几个项目都是这样,没特殊操作。
就是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});
}
},
}
})
imyelo commented
是不是没引用 Tina 里的 Component?
- Component({
+ import { Component } from '@tinajs/tina'
+ Component.define({
callmesoul commented
好像是 tina 的 Component 和原生的有什么不同么?
imyelo commented
好像是 tina 的 Component 和原生的有什么不同么?
嗯,是不同的,tina 的 Component 是原生 Component 的一层代理。这样做是为了尽可能不破坏原生 Component 实例的成员,因为我们无法预知原生基础库在迭代的过程中会给 Component 增加什么新成员。如果想访问原生实例,可以通过 API Component#$source
。