// behavior2.js
module.exports = Behavior({
behaviors: [],
methods: {
aaa: { return [aa, bb] }
}
})
// behavior1.js
module.exports = Behavior({
behaviors: [require('behavior2.js')],
methods: {
aaa: {
//此处我想调用 behavior2.aaa(); 不知道如何调用。
//不能使用this.aaa(),会死循环
//const allPages = getCurrentPages();
//const props = allPages[allPages.length - 1]; 不能使用 props.aaa(); 一样会死循环。
//this.selectOwnerComponent() 为null
//definitionFilter是上层处理下层的
const newAAA = behavior2.aaa();
newAAA.push(cc);
return newAAA;
}
}
})
// component.js
Component({
behaviors: [require('behavior1.js')],
})
是会覆盖同名 behavior 方法的,所以可能需要你:
// behavior2.js function aaa() { // this.xxxx 也可以,保证调用时 this 指向正确即可 return [aa, bb] } const behavior = Behavior({ behaviors: [], methods: { aaa } }) module.exports = { behavior, aaa } // behavior1.js const behavior2 = require('behavior2.js') module.exports = Behavior({ behaviors: [behavior2.behavior], methods: { aaa: { //此处我想调用 behavior2.aaa(); 不知道如何调用。 //不能使用this.aaa(),会死循环 //const allPages = getCurrentPages(); //const props = allPages[allPages.length - 1]; 不能使用 props.aaa(); 一样会死循环。 //this.selectOwnerComponent() 为null //definitionFilter是上层处理下层的 const newAAA = behavior2.aaa(); newAAA.push(cc); return newAAA; } } })