DefinePlugin
在webpack的DefinePlugin里設(shè)置
配置的全局變量 比如你開(kāi)發(fā)的時(shí)候的api地址和發(fā)布的時(shí)候的api地址不一樣可以在這里配置
$(".pic").hover(function(){
$(".text",this).slideDown(500);
},function(){
$(".text",this).slideUp(500);
});
本質(zhì)是這個(gè)。
既然jquery沒(méi)有捕獲的實(shí)現(xiàn),我們自己實(shí)現(xiàn)一個(gè)。代碼如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
<!--換成你自己jquery的地址-->
<script src="jquery-1.12.4.js"></script>
<title>Document</title>
</head>
<body>
<div id="xx" style="height:200px;background:green;">
<div id="yy" style="position:relative;top:50px;height:100px;background:red;"></div>
</div>
<script>
(function(debug){
// 用WeakMap省的dom被移除了還持有引用無(wú)法gc
const listeners = new WeakMap();
// core
const capture = (elem,type,callback,once=false) => {
// 看看有沒(méi)有這個(gè)dom,避免重復(fù)注冊(cè)
if(!listeners.has(elem)){
listeners.set(elem,new Map());
// https://developer.mozilla.org/zh-CN/docs/Web/API/EventTarget/addEventListener
elem.addEventListener(type,fnCenter,{
capture:true,
once,
});
}
const map = listeners.get(elem);
// 看看有沒(méi)有這個(gè)type的事件被注冊(cè)
if(map.has(type)){
map.get(type).push(callback);
}else{
map.set(type,[callback]);
}
};
// 所有注冊(cè)都用同一個(gè)函數(shù)引用,方便解除
const fnCenter = function(event){
// currentTarget和target的區(qū)別參見(jiàn)mdn
const {currentTarget,type} = event;
// currentTarget,type就是找到回調(diào)的兩把鑰匙
if(listeners.has(currentTarget) && listeners.get(currentTarget).has(type)){
const callbacksArray = listeners.get(currentTarget).get(type);
// 循環(huán)執(zhí)行回調(diào)們
callbacksArray.forEach(callback=>callback(event));
}else{
//找不到么應(yīng)該有問(wèn)題,你可以選擇在此拋出錯(cuò)誤或者警告或者移除注冊(cè)
}
}
// 卸載
const remove = (elem,type) => {
// 看看注沒(méi)注冊(cè)過(guò),沒(méi)注冊(cè)過(guò)就退出
if(!listeners.has(elem)){
return false;
}
// 沒(méi)寫(xiě)type全移除,寫(xiě)了type,只移除這個(gè)類型的
if(!type){
listeners.delete(elem);
}else{
const map = listeners.get(elem);
map.delete(type);
}
elem.removeEventListener(type,fnCenter);
}
// 注冊(cè)到j(luò)Query的原型上去
// 監(jiān)聽(tīng)捕獲
$.fn.capture=function(type,callback){
// this is a jQuery Object
if(!this.length){
throw new Error("沒(méi)有有效的selector")
}
for(let i=0;i<this.length;i++){
const dom = this.get(i);
capture(dom,type,callback);
}
};
// 僅監(jiān)聽(tīng)一次捕獲
$.fn.captureOnce=function(type,callback){
// this is a jQuery Object
if(!this.length){
throw new Error("沒(méi)有有效的selector")
}
for(let i=0;i<this.length;i++){
const dom = this.get(i);
capture(dom,type,callback,true);
}
};
// 解除監(jiān)聽(tīng)
$.fn.removeCapture=function(type){
// this is a jQuery Object
if(!this.length){
throw new Error("沒(méi)有有效的selector")
}
for(let i=0;i<this.length;i++){
const dom = this.get(i);
remove(dom,type);
}
};
if(debug){
window.listeners = listeners;
}
})(true);
// 實(shí)驗(yàn)
$("#xx").capture("click",function(e){
alert("父");
});
$("#yy").capture("click",function(e){
alert("子");
});
</script>
</body>
</html>
效果如下
問(wèn)題解決了, 在reducer中請(qǐng)求時(shí)返回就是NULL,算是自己坑了自己,
`function Requesting(state) {
return immutable.fromJS(state).merge({
isRequesting: true,
data: null,
error: null
}).toJS();
}`
data:null 修改成data:state.data 就可以正確返回?cái)?shù)據(jù)
&& 操作符有一個(gè)特性,就是前面的如果為true,則返回后面的,前面的為false,則返回前面的,
在console下測(cè)試
var isAppear
var appearClass ="appearClass"
var startClass = isAppear && appearClass //undefined
isAppear ='isAppear'
var startClass = isAppear && appearClass //"appearClass"
isAppear =false
var startClass = isAppear && appearClass //"false"
var isAppear = !context._isMounted || !vnode.isRootInsert;
判斷這個(gè)實(shí)例是否是已經(jīng)掛載或者是否作為跟節(jié)點(diǎn)插入,當(dāng)兩個(gè)都為true的時(shí)候,isAppear為false,這樣后面startClass、activeClass、toClass就都是enter開(kāi)頭的類,控制組件的css過(guò)渡。
第三個(gè)儀表盤(pán)的min和max的值交換一下,就是min:100,max:0
生成的JWT是無(wú)法撤銷的,除非是達(dá)到了指定的過(guò)期時(shí)間。這個(gè)是由什么決定的?
就是過(guò)期時(shí)間會(huì)寫(xiě)在token里或者與token關(guān)聯(lián)。
是JWT的算法決定的嗎?
是
還有一個(gè)問(wèn)題是,JWT是如何來(lái)校驗(yàn)一個(gè)Token是否有效的?
一般會(huì)定時(shí)清理過(guò)期的token,并且訪問(wèn)的時(shí)候也會(huì)先查看token是否過(guò)期。
我有注意到同樣的數(shù)據(jù)生成的JWT,在Node進(jìn)程重啟后就會(huì)被判定為無(wú)效的Token??雌饋?lái)像是寫(xiě)進(jìn)了內(nèi)存一樣,但是肯定不可能。
如果沒(méi)有存到數(shù)據(jù)庫(kù)里比如redis/memcached或者其他,那就只能在內(nèi)存里。node進(jìn)程重啟無(wú)效說(shuō)明并沒(méi)有存到進(jìn)程外部,所以應(yīng)該是內(nèi)存里。
不清楚你需要撤銷什么,如果是希望token都失效,把秘鑰改了就行了。
源文件的編碼帶了bom頭,windows 的 iis 服務(wù)器不會(huì)有問(wèn)題;ubuntu 的 nginx 服務(wù)器就會(huì)有問(wèn)題。
打擾了各位......
已找到解決方案,原因是切換視頻源的方法錯(cuò)誤,應(yīng)為this.$refs.videoPlayer.player.src('要切換的rtmp地址');
這是什么css?沒(méi)有冒號(hào):
用定時(shí)器不斷檢查,
我覺(jué)得你可以從再次進(jìn)入聯(lián)系人頁(yè)添加時(shí),『如何不產(chǎn)生重復(fù)數(shù)據(jù)』,這一步來(lái)入手
obj={key:123,label:123}
value ={obj}
obj=null
404是找不到你請(qǐng)求的地址,你仔細(xì)檢查一下代理設(shè)置以及請(qǐng)求地址
一個(gè)完整的proxyTable應(yīng)該是這樣的
proxyTable: {
'/api': {
target: '*********',
changeOrigin: true,
pathRewrite: {
'^/api': '/'
}
}
},import { MessageBox } from 'mint-ui';
原來(lái)是自己的壓縮包軟件的問(wèn)題,最后升級(jí)了電腦的 WinRAR 軟件就可以了。。。
react在生命周期和event handler里的setState會(huì)被合并(異步)處理。(17版本以后全都會(huì)變異步)
北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國(guó)家
達(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
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國(guó)家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國(guó)制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國(guó)職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(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)師。