你在my-header組件里面只是注冊(cè)了my-top組件卻并沒(méi)有進(jìn)行調(diào)用。將my-header的字符串模板改寫為
'<h3> this is a parent <my-top></my-top></h3>'
cdn redis緩存,能用上全用上,干嗎非要生成靜態(tài)html
我有個(gè)網(wǎng)站,php寫的,第一次訪問(wèn)渲染一下頁(yè)面,接下來(lái)的訪問(wèn)就全是cdn返回了,沒(méi)有必要生成靜態(tài)html嗎
可以點(diǎn)擊切換class,通過(guò)class設(shè)置樣式
iframe 的 onload
事件 判斷 contentWindow.location.pathname
是否是 Account/Login
個(gè)人感覺(jué)是這樣的
方法一:
當(dāng)?shù)搅说?個(gè)的時(shí)候direction
變成vertical
變成豎向的
第四個(gè)也是
到了第5個(gè)或者是第六個(gè)的時(shí)候在變成horizontal
變成橫向的
方法二:
或者是到了第二個(gè)要切換第三個(gè)的時(shí)候
var i=0 //當(dāng)3頁(yè)滾動(dòng)到底部的時(shí)候變成1
var mySwiper = new Swiper('.swiper-container',{
on: {
slideChangeTransitionStart: function(){
if(this.activeIndex==3 && i==0){
alert('看完之后再回去');
mySwiper.slideTo(2);
}
},
},
})
使用箭頭函數(shù)
const doLogin = function (username, password, v, callback) {
};
doLogin(localStorage.username, localStorage.password, this, (res, msg) => {
if (res) {
this.$store.commit({
type: 'login',
username: res.name,
token: res.token,
});
}
});
java并沒(méi)有尾遞歸優(yōu)化…
Refresh Token
不在jwt
的范疇內(nèi),你需要自己實(shí)現(xiàn)Refresh Token
的邏輯。比如監(jiān)聽(tīng)到jwt
的error
類型expired
的時(shí)候,更新token
。
flask view里面調(diào)用subprocess.Popen去執(zhí)行腳本,subprocess會(huì)生成一個(gè)子進(jìn)程去執(zhí)行腳本,可以立即返回
this的指向問(wèn)題
this.props.memberStore里面有page屬性嗎?
如果有的話可以用這種方式
this.props.memeberStore.updatePage()
如果沒(méi)有的話就需要在store的constructor里面增加
this.page = page
proxyTable改動(dòng)一下:
dev: {
// Paths
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {
// 去掉這個(gè)注釋
'/admin': {
target: 'http://localhost:8004',
changeOrigin: true
}
},
// Various Dev Server settings
host: 'localhost', // can be overwritten by process.env.HOST
port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
autoOpenBrowser: false,
errorOverlay: true,
notifyOnErrors: true,
poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
/**
* Source Maps
*/
// https://webpack.js.org/configuration/devtool/#development
devtool: 'cheap-module-eval-source-map',
// If you have problems debugging vue-files in devtools,
// set this to false - it *may* help
// https://vue-loader.vuejs.org/en/options.html#cachebusting
cacheBusting: true,
cssSourceMap: true
},
你這代碼習(xí)慣,直接這樣寫 border:1px solid #000。你這對(duì)不齊是因?yàn)槟惆裝order-top設(shè)置為0了,當(dāng)然會(huì)向上挪動(dòng)一點(diǎn)了
element官網(wǎng)說(shuō)了下,讓open事件里面調(diào)用tree,雖然可以用,但是控制臺(tái)會(huì)報(bào)錯(cuò),最后我選擇了open事件里面,再調(diào)用超時(shí)器,這樣的下一輪事件循環(huán)里調(diào)用,不報(bào)錯(cuò)并且可以用
理清思路
obj用于繼承,結(jié)構(gòu)是一個(gè)json對(duì)象,存在多層嵌套,但不會(huì)存在函數(shù);
obj1繼承obj,可能會(huì)重新賦值,賦值后的字段永遠(yuǎn)優(yōu)先于obj,若無(wú)該字段無(wú)重新賦值,則隨obj改變而更新;
obj0用于存放obj需要重寫的字段;
let obj0 = {
// 'b': 33,
// 'd':{'d':88},
'f': [4,5,6],
'g':[{
'g0': 7,
'g1': 7,
}]
};
function deepPrototypeClone(obj) { //繼承obj
const ret = Object.create(obj);
for (const [key, value] of Object.entries(obj)) {
if (value && typeof value === 'object') {
ret[key] = deepPrototypeClone(value);
}
}
return ret;
}
function updateObj(obj0,obj){ //obj更新obj0中的數(shù)據(jù)
for (const [key, value] of Object.entries(obj0)) {
if(value && value instanceof Array){
if(typeof value[0] === 'object'){
for(let i=0; i<value.length; i++){
updateObj(value[i],obj[key][i]);
}
}else{
obj[key].splice(0,obj[key].length,...value) ;
}
}else{
obj[key] = value;
}
}
};
let obj1 = deepPrototypeClone(obj); //obj1繼承obj
//obj1.b = 22;
//obj1.d.d = 99;
//obj1.f = [5,5,5];
//obj1.g[0].g0 = '8';
//obj1.h = [['7','5']];
updateObj(obj0,obj); //obj調(diào)整,obj1隨之更新
console.log("obj");
console.log(obj.b); console.log(obj.d.d);
console.log(obj.f); console.log(obj.g[0]); console.log(obj.h[0]);
console.log("obj1");
console.log(obj1.b); console.log(obj1.d.d);
console.log(obj1.f); console.log(obj1.g[0]); console.log(obj1.h[0]);
最近在做vue的時(shí)候監(jiān)聽(tīng)頁(yè)面滾動(dòng)發(fā)現(xiàn)document.body.scrollTop一直為0
但是發(fā)現(xiàn)document.body.scrollTop一直是0。
查資料發(fā)現(xiàn)是DTD的問(wèn)題。
頁(yè)面指定了DTD,即指定了DOCTYPE時(shí),使用document.documentElement。
頁(yè)面沒(méi)有DTD,即沒(méi)指定DOCTYPE時(shí),使用document.body。
IE和Firefox都是如此。
可以使用vm.$on和vm.$emit
1、A頁(yè)面用vm.$on定義要監(jiān)聽(tīng)的事件 vm.$on('test', msg => console.log(msg))
2、B頁(yè)面在選擇后返回時(shí)用 vm.$emit('test', 'msg') 觸發(fā)函數(shù)
從B頁(yè)面返回A頁(yè)面的操作最好不要用push跳轉(zhuǎn),不然在瀏覽器的回退和安卓物理返回鍵上操作體驗(yàn)不友好
當(dāng)然你可以用本地緩存
已用babel-plugin-jsx-v-model解決
參考:JSX v-model for Vue JSX
北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國(guó)家
北大青鳥(niǎo)中博軟件學(xué)院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學(xué)院和江蘇省首批服務(wù)外包人才培訓(xùn)基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團(tuán)創(chuàng)建于1999年,經(jīng)過(guò)二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機(jī)構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團(tuán),成為集合面授教學(xué)培訓(xùn)、網(wǎng)
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
曾工作于聯(lián)想擔(dān)任系統(tǒng)開(kāi)發(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ū)ο箝_(kāi)發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開(kāi)發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開(kāi)發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問(wèn),美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。