eggGetRemoteWords 需要在 initUserInfo 中,登錄成功的 success 回調(diào)中執(zhí)行,所以可以這樣定義
function initUserInfo(callback) {
wx.request({
...
success: function() {
....
config.uid = res.data.data.uid;
config.accessToken = res.data.data.wxapp_access_token;
callback(config);
....
}
});
}
然后,這樣調(diào)用
initUserInfo(() => eggGetRemoteWords());
但是一般來說,用戶信息取到之后只要不過期,是不應(yīng)該反復(fù)去取的,所以取用戶信息的部分可以封裝一下
function requestUserInfo(callback) {
if (config.uid && config.accessToken) {
callback(config);
} else {
initUserInfo(callback);
}
}
之后調(diào)用也相應(yīng)的改成
requestUserInfo(() => eggGetRemoteWords());
上面都是采用的回調(diào)的方式來處理異步,如果想用 Promise(說實(shí)在的,我不清楚小程序目前對(duì) Promise 支持得如何)
function initUserInfo() {
return new Promise((resolve, reject) => {
wx.request({
....
success: function(res) {
if (....) {
config.uid = ...;
config.accessToken = ...;
resolve(config);
} else {
reject(res);
}
},
fail: function(...args) {
reject(res);
}
});
});
}
function requestUserInfo() {
return new Promise((resolve, reject) => {
if (config.uid && config.accessToken) {
resolve(config);
} else {
initUserInfo().then(resolve).catch(reject);
}
});
}
// 調(diào)用
requestUserInfo().then(eggGetRemoteWords);
// 或者
// requestUserInfo().then(eggGetRemoteWords());之前這么寫有點(diǎn)問題,代碼里邊多了一個(gè)_ 現(xiàn)在解決了 謝謝
我是這樣的
路由:
`{
path: '/resourseTotalDetail/:id',
name:'resourseTotal_detail',
component: ResourseTotal_detail,
meta:{index:2},
},`
頁面:
<router-link :to="'resourseTotalDetail/'+item.id"></router-link>
跳轉(zhuǎn)頁面:
watch: {
'$route': function () {
this.personId = this.$route.params.id;//獲取id,再請(qǐng)求內(nèi)容
}
}瀏覽器設(shè)置問題
可以使用Promise.all,如果不支持ES6,可以模擬Promise.all
function allAjax(arr,callback){
var count = 0,month = [];
arr.map(function(item,i){
$.ajax({
...
success:function(data){
month.push({
month:item,
data:data
})
},
complete: function(){
count ++ ;
if(count==arr.length){
callback && callback(month)
}
}
})
})
}
var arr = [1,2,3]
allAjax(arr,function(month){
console.log(month)
})優(yōu)雅的建議
MongoClient.connect用util.promisify把他改成promise用await等待鏈接成功。const collection = db.collection('site');寫成類的模式Site.find。Site.find寫成await。文檔上并沒有asset這個(gè)配置,是多余的,需要去掉,看文檔的意思是需要用filename代替
1、換echart版本試試(排除框架問題) 2、自己寫一個(gè)簡單的點(diǎn)擊事件(排除移動(dòng)端問題)
參照下 http://es6.ruanyifeng.com/#do... 有可能是Symbol吧
哦,確實(shí)是字符串,只是控制臺(tái)顯示得像個(gè)數(shù)字~
1.animal要運(yùn)行一次才會(huì)執(zhí)行函數(shù)體的內(nèi)容
2.直接調(diào)用animal(),this在瀏覽器中指向window,在node中指向global
3.因此要向執(zhí)行eat需要這么寫:
animal()
// equal to window.eat() / global.eat()
eat()
4.var一個(gè)實(shí)例的方法是把a(bǔ)nimal當(dāng)做構(gòu)造器函數(shù)使用,new的過程中會(huì)執(zhí)行函數(shù)體內(nèi)容,并返回this,可以這么寫:
// this指向cat
var cat = new animal()
cat.eat()service是單例的,意味著全局只有這一個(gè)對(duì)象,所以數(shù)據(jù)也只有一份
Promise.all返回?cái)?shù)組自己把他轉(zhuǎn)換成對(duì)象啊
批量全局引入指令,可以通過forEach遍歷Vue.directive注冊(cè)
import * as directives from './directives'
// 注冊(cè)指令
Object.keys(directives).forEach(k => Vue.directive(k, directives[k]))
這篇文章可以幫助你了解全局指令封裝
https://segmentfault.com/a/11...
1.首先你這個(gè)css文件是否是你自己可控的呢?如果是可控的是否按照uft-8 no BOM標(biāo)準(zhǔn)保存一下再讀取就ok了?
2.如果1解決不了,能不能設(shè)置style.innerHtml= str.replace('?','')
你說的問題我理解有兩種:
1.改造原來的應(yīng)用
可以用iframe 作為 當(dāng)前 導(dǎo)航 的顯現(xiàn)內(nèi)容,通過改變iframe 的url 來切換顯示導(dǎo)航的內(nèi)容
2.單頁面,在一個(gè)頁面現(xiàn)實(shí)導(dǎo)航切換的內(nèi)容
這種要用到 vue-router,通過嵌套路由,實(shí)現(xiàn)點(diǎn)擊導(dǎo)航切換內(nèi)容,路由的路徑一般相對(duì)路徑
首先說下這不是加不加flex-basis的問題,至于原因,看我的說明。
我按照你說的寫了個(gè)不加flex-basis的版本,為了便于查看,加了背景色和字
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<title>關(guān)于flex的問題</title>
</head>
<style>
span {
background: #e94258;
}
.box {
display: flex;
justify-content: space-between;
}
.column {
background: #000;
display: flex;
justify-content: space-between;
}
</style>
<body>
<div class="box">
<span class="item">c</span>
<span class="item">c</span>
</div>
<div class="box">
<div class="column">
<span class="item">c</span>
<span class="item">c</span>
</div>
</div>
</body>
</html>
顯示的結(jié)果:
如你所說,挨在一起,但是你有沒有發(fā)現(xiàn)一個(gè)問題,我明明給column寫了個(gè)黑色的背景色,怎么第二行沒有背景色?問題就是出在這。
按理說column是個(gè)div,應(yīng)該占滿一行的,但是由于box設(shè)置成了flex,所以column不再是塊元素,他的寬度只隨內(nèi)容變化,而column的內(nèi)容只有兩個(gè)span,所以column的寬度就變成了兩個(gè)span的寬度之和。
實(shí)際上這時(shí)第二行兩個(gè)span依舊是和上面一行的兩個(gè)span一樣,都是排列在column的兩邊,但是由于column的寬度就等于這兩個(gè)span的寬度之和,所以看起來就像是這兩個(gè)span變成了從左到右排列,而沒有排列在兩邊。
結(jié)論是要解決這個(gè)問題,只要想辦法讓column的寬度變成和第一行的box一樣,那第二行的兩個(gè)span的排列就會(huì)看起來和第一行的一樣了。你的flex-basis:100%就是達(dá)到了這個(gè)效果。還有別的方法可以解決的,這個(gè)你自己摸索吧。原理才是最重要的。
奇怪的問題.用 wireshark 看看...
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。