1. 新建自定义组件
2.1 组件.wxml中只写了一个图片
2.2 组件.js,构造
Component({
options: {
multipleSlots: true // 在组件定义时的选项中启用多slot支持
},
/**
* 组件的属性列表
* 用于组件自定义设置
*/
properties: {
},
data: {
isHide: false,
},
methods: {
showToast: function () {
// display需要先设置为block之后,才能执行动画
this.setData({
isHide: false,
});
},
hideToast: function () {
this.setData({
isHide: true,
})
}
}
})
2.3 组建.json
{
"component": true,
"usingComponents": {}
}
2.4 wxss就不粘了
3.0 因为现在全局中引用, 所以在app.json中添加
"usingComponents": {
"toast": "component/modleToast/modleToast"
},
3.1 我在index.wxml中开头插入组件
3.2 index.js中使用 在单独页面中使用是有用的
4.1 但是在在全局中引用就报错,在app.js
前两种导入都下面这个错
selectCompnent()方法则报没有定义该方法
代码写到这一步就卡住了~
我想实现在app.js中能调用自定义组件中的 showToast和hideToast方法 ,或者实现在util.js公共js中调用自定义组件的方法
请问怎么能解决?
微信小程序开发问题解答
微信小程序开发者回答:
你这样 require 组件的 js 相当于重新执行一遍组件构造器,并不是获取组件的实例,自然会报错。如果想在 app 实例里拿到组件实例,那就要页面用某种方法将组件实例传过去才行。
至于要用什么方法,比如页面将组件实例放到某个全局量让 app 实例自己去拿或者页面主动调 app 实例的某个方法将组件实例送过去等方式都行,看个人的选择了。
微信小程序开发者回答:
提问模块只有点审核才能有用,其他问题模块点击没法应。。。
本文网址:http://www.91bianli.com/weixinxiaochengxu/43604.html