W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
think.base
是基類,所有的類都會(huì)繼承該類,該類提供了一些基本的方法。
使用 ES6 語法繼承該類:
export default class extends think.base {
/**
* init method
* @return {} []
*/
init(){
}
}
注
: 使用 ES6 里的類時(shí)不要寫constructor
,把初始化的一些操作放在init
方法里,該方法在類實(shí)例化時(shí)自動(dòng)被調(diào)用,效果等同于constructor
。
使用普通的方式繼承該類:
module.exports = think.Class(think.base, {
/**
* init method
* @return {} []
*/
init: function(){
}
})
args
{Array}初始化方法,這里可以進(jìn)行一些賦值等操作。
class a extends think.base {
init(name, value){
this.name = name;
this.value = value;
}
}
注
:與1.x
版本不同的是,2.x
版本init
方法不再支持返回一個(gè)Promise
,一些通用操作放在__before
魔術(shù)方法里進(jìn)行。
前置魔術(shù)方法,可以將一些通用的行為放在這里進(jìn)行,如:controller 里檢測用戶是否登錄
export default class think.controller.base {
/**
* 前置魔術(shù)方法
* @return {Promise} []
*/
* __before(){
let userInfo = yield this.session("userInfo");
//如果沒有登錄,則跳轉(zhuǎn)到登錄頁面
if(think.isEmpty(userInfo)){
return this.redirect("/logic");
}
this.assign("userInfo", userInfo)
}
}
后置魔術(shù)方法,在方法執(zhí)行完成后在執(zhí)行。
return
{String} 返回當(dāng)前類文件的名稱獲取當(dāng)前類文件的名稱,不包含文件具體路徑和擴(kuò)展名。
//假設(shè)當(dāng)前類文件具體路徑為 /home/xxx/app/controller/user.js
class a extends think.base {
test(){
var filename = this.filename();
//returns "user"
}
}
method
{String} 要調(diào)用的方法名稱data
{Array} 傳遞的參數(shù)return
{Promise}調(diào)用一個(gè)方法,自動(dòng)調(diào)用 __before
和 __after
魔術(shù)方法。不管方法本身是否返回 Promise
,該方法始終返回 Promise
。
方法本身支持是 */yield
和async/await
。
//使用 async/await
class Cls extends think.base {
async getValue(){
let value = await this.getValue();
return value;
}
}
let instance = new Cls();
instance.invoke("getValue").then(data => {
});
//使用 */yield
class Cls extends think.base {
* getValue(){
let value = yield this.getValue();
return value;
}
}
let instance = new Cls();
instance.invoke("getValue").then(data => {
});
文檔地址:https://github.com/75team/www.thinkjs.org/tree/master/view/zh-CN/doc/2.0/api_think_base.md
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: