擴(kuò)展運(yùn)算符(spread)
引用類型與值類型
一般來(lái)說(shuō)cannot read property "" of undefined這樣錯(cuò)誤的原因
是試圖這樣調(diào)用: undefined.indexOf()
看你的代碼也就是path這個(gè)變量是undefined, 也就是說(shuō)this.prop是undefined.
看看this.prop的賦值過(guò)程是否有問(wèn)題.
最后你說(shuō)bug時(shí)有時(shí)無(wú), 是不是this.prop是在異步調(diào)用中賦值的呢, 檢查一下這個(gè)過(guò)程, 看看是否能真正定位到問(wèn)題.
在本頁(yè)測(cè)試沒(méi)有發(fā)現(xiàn)字體模糊的問(wèn)題,應(yīng)該是瀏覽器相關(guān)的吧
一個(gè)比較簡(jiǎn)單的辦法是,首先將確定的范圍分成n個(gè)小區(qū)間,然后在每一區(qū)間中用隨機(jī)數(shù)獲取一個(gè)點(diǎn),這樣會(huì)相對(duì)稀疏一些。給區(qū)間加一個(gè)padding可以避免兩個(gè)點(diǎn)過(guò)于靠近
當(dāng)然可以……而且是教科書(shū)般標(biāo)準(zhǔn)的做法……這才是一般人用版本控制工具的方式吧
node中使用node-xlsx中間件保存為xlsx格式的,需要保存的data類型是數(shù)組,前端再用a連接去指向保存后的地址。
const xlsx = require('node-xlsx').default
var buffer = xlsx.build([{name: "mySheetName", data: newArr}]);
fs.writeFileSync(Math.random()+".xlsx", buffer,"binary")
這個(gè)貌似無(wú)解,我也是自己寫(xiě)的tabbar,但是我們屏蔽了自帶的下拉刷新功能,自己寫(xiě)了一個(gè)刷新。加載的loading,也沒(méi)用自帶的。
溫馨提示,自己寫(xiě)的tabbar你需要自己適配iphoneX,需要拔高tabbar位置的
emmmm
靠左靠右兩個(gè)樣式,循環(huán)的時(shí)候 i % 2 === 0 根據(jù)奇偶使用不同 class 不就好了
cookie
一次循環(huán)構(gòu)建所有的數(shù)樹(shù), 然后把根節(jié)點(diǎn)找到push進(jìn)去就好了
let arr = [...]
let sidMap = {}
let map= {}
for(let i=0 ;i<arr.length;i++){
let pid = arr[i].source
let sid = arr[i].target
if(!map[sid]){
map[sid]={id:sid, children:[]}
}
map[sid].weight = arr[i].weight
if(!map[pid]){
map[pid]={id:pid, children:[]}
}
map[pid].children.push(map[sid])
sidMap[sid]=true
}
let ans = []
for(let i=0 ;i<arr.length;i++){
let pid = arr[i].source
if(!sidMap[pid]){
sidMap[pid] = true
ans.push(map[pid])
}
}
console.log(ans)其實(shí) 用es6 的includes 也一樣的
var res = [];
var arr = [
{name: '小紅', age: 15},
{name: '小明', age: 14},
{name: '小強(qiáng)', age: 13},
{name: '老張', age: 22},
{name: '王小蘭', age: 16},
{name: '張小', age: 18},
];
arr.forEach(item => {
if (item.name.includes(小)) {
res.push(item);
}
})
console.log(res)
跳轉(zhuǎn)前 還是跳轉(zhuǎn)后? 這個(gè)得確定
跳轉(zhuǎn)前 那就在具體路由下面來(lái)
watch:{
'$route'(to, from) {
if(to == './home'){
alert(11111)
}
}
}
跳轉(zhuǎn)后 那就在/home路由下面
watch:{
'$route'(to, from) {
alert(11111)
}
}
可以試試使用Spring boot的多環(huán)境切換.在測(cè)試環(huán)境的配置文件加入security.basic.enable=false和management.security.enabled=false關(guān)閉Spring Security的功能.在測(cè)試用例中加入@ActiveProfiles切換成測(cè)試環(huán)境.
kill -3 pid
linux 下不同應(yīng)用的響應(yīng)行為不太一樣,對(duì)jvm來(lái)說(shuō)默認(rèn)會(huì)在標(biāo)準(zhǔn)輸出顯示出來(lái)
可以通過(guò) >重定向到文件。
$ jps
20226 jar
20383 Jps
$ kill -3 20226
2018-08-30 13:09:04
Full thread dump OpenJDK 64-Bit Server VM (25.181-b13 mixed mode):
"TimerQueue" #23 daemon prio=5 os_prio=0 tid=0x00007fa70c04f000 nid=0x4f1e waiting on condition [0x00007fa72056d000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x000000076d530c48> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
at java.util.concurrent.DelayQueue.take(DelayQueue.java:211)
at javax.swing.TimerQueue.run(TimerQueue.java:174)
at java.lang.Thread.run(Thread.java:748)
"DestroyJavaVM" #22 prio=5 os_prio=0 tid=0x00007fa79400a800 nid=0x4f03 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"AWT-EventQueue-0" #17 prio=6 os_prio=0 tid=0x00007fa79461b800 nid=0x4f19 waiting on condition [0x00007fa7222e7000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000006c6201be0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
at java.awt.EventQueue.getNextEvent(EventQueue.java:554)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:187)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
......首先,mb_strpos(string $haystack, string $needle),很明顯你的參數(shù)位置反了。
其次,支持中文基本都是mb_前綴(MultiByte)安全截取,比如 mb_substr, mb_strpos, mb_strstr。
確定xampp啟動(dòng)成功了?
你提到的Form是一種。
另外常用的一種就是將input的值放到dva的state(即:redux)中,直接從state中取。
<input value={this.props.obj.input} onChange={e => dispatch({type: 'namespace/setState', payload: {obj: {input: e.target.value}}})} />
也就是將input作為受控組件即可!
出現(xiàn)這錯(cuò)誤,一般是路徑問(wèn)題,檢查一下。如果沒(méi)有問(wèn)題,再點(diǎn)擊又能加載成功,那有可能就是運(yùn)營(yíng)商劫持了http或者dns,解決方式使用https即可。
瀏覽器檢查源代碼,點(diǎn)擊上方JS文件路徑,能否打開(kāi)?
北大青鳥(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)師。