data: { showMenu: true, statusBarHeight: app.globalData.statusBarHeight, title: "更多", menus: [ { title: "转发", icon: "", click: , }, ], }, /** * 组件的方法列表 */ methods: { showMenu(): void { this.setData({ showMenu: true, }); }, hideMenu(): void { this.setData({ showMenu: false, }); }, }, |
我想在 data - menus - click 属性中直接调用 methods 里的方法 现在来看貌似行不通?

为啥这么怪的需求。。直接调用不行,不过可以反过来
data: {
click: function(){
console.log(1)
}
},
methods: {
clickFn(){
this.data.click()
}
}
data: {menu: [{funcName:"aFn"},{funcName:"bFn"}]},methods: {clickFn(e){this[e.currentTarget.dataset.name]()},aFn() {console.log("a")},bFn() {console.log("b")}}<text bindtap="clickFn"wx:for="{{menu}}"data-name="{{item.funcName}}">components/test.wxml</text>大概这么个意思
是的 有个比较神奇的操作是直接在 ready 的生命周期里赋值 click 的值写成字符串 名字要跟 methods 里的方法一样
但是感觉这样还是不够优雅哈哈哈。。。