使用高階組件:
import Immutable from "immutable"
import React from "react"
import { withRouter } from "react-router"
const routerLeaveHookHoc = WrappedComponent => {
//withRouter本身是一個高階組件,每個頁面都要用到,所以提升到這里來,每個頁面使用routerLeaveHookHoc 就可以
return withRouter(
class extends React.Component {
componentDidMount() {
console.log("我是高階組件的didmount");
this.props.router.setRouteLeaveHook(
this.props.route,
this.routeLeaveHook
);
}
routeLeaveHook(a){
// 返回 false 會繼續(xù)停留當(dāng)前頁面,
// 否則,返回一個字符串,會顯示給用戶,讓其自己決定
}
render() {
return <WrappedComponent {...this.props}/>
}
}
)
}canvas上實現(xiàn)click效果,必然是通過計算點擊位置實現(xiàn)的。
而你做了自適應(yīng)以后,想要點擊的熱點區(qū)域不變的話,就需要拿到你的標(biāo)準(zhǔn)寬高與當(dāng)前頁面的寬高進(jìn)行計算,得出正確的縮放比例后,然后修改點擊的熱點區(qū)域。
類似這樣的:
const standardWidth = 1920
let widthScaleRatio = window.screen.availWidth / standardWidth
let triggerXRange = [0, 800]
$canvas.click(e => {
if (e.clientX >= triggerXRange[0] * widthScaleRatio && e.clientX <= triggerXRange[1] * widthScaleRatio) {
console.log('trigger')
}
})svg,area
一定要獲取數(shù)組里面的null就是用filter獲取,const nullArr = arr.filter(item=> item===null)
ES5: var nullArr = _times.filter(function(item){ return item === null })
但是null這個值你獲取了是沒有意義的,有意義的應(yīng)該是null的位置,也就是數(shù)組的下標(biāo)
==============================
function getNulls(arr) {
return arr.reduce(function(nullList, item, index) {
if (item === null) {
nullList.push(index);
return nullList;
}
return [];
}, []);
}
var arr = [1, 2, 3, null, 4, null, null, 8, null, null, null];
var result = getNulls(arr);
console.log(result);
// [8, 9, 10]
上面是獲取下標(biāo)的方法。不過我還是不太理解你的需求,比如你為什么要在if判斷?最好你能完整描述下需求,以找到更好的實現(xiàn)方式
執(zhí)行:npm rebuild node-sass --force便可安裝上
大佬,你用的也是create-react-app嗎?我的還是不行,一直404
npm --registry=https://registry.npm.taobao.org
key是變量時完全可以的,問題出在storage(包括sessionStorage和localStorage)只能存儲字符串的數(shù)據(jù),無法直接存儲js對象和數(shù)組。如果需要存儲對象或者數(shù)組,可以用JSON.stringify先轉(zhuǎn)化成字符串類型存儲進(jìn)去,讀取之后再解析即可。例如:
var session = {
'screens' : [],
'state' : true
};
localStorage.setItem('session', JSON.stringify(session));
var restoredSession = JSON.parse(localStorage.getItem('session'));
console.log(restoredSession);不用 耳機域名就好了!
例如:demo.com 后臺可以用api.demo.com
兩種都可以。推薦 token 也只是推薦,也并不是說傳統(tǒng)的 cookie/session 就不能用,token 也有坑。看需求,一般 cookie/session 可以了。
URLSearchParams是對象,不是數(shù)組,不能用append,可以用
params = Object.assign({}, params)
試試
在當(dāng)前的路由中,單擊的時候進(jìn)行判斷處理,如果input任然處于獲取焦點的情況下,就消失軟鍵盤,否則的話,則進(jìn)行路由的跳轉(zhuǎn)
參考 css object-fit: scale-down
https://developer.mozilla.org...
你可以在加載的時候 從服務(wù)器的返回數(shù)據(jù)中找個變量 和 在加上什么index之類的生成ID 不就可以選擇了嗎
項目angular-cli.json 文件下 apps 項有沒有加:
"scripts": [
"../node_modules/chart.js/dist/Chart.js",
...
]都js封裝的。前端框架再多,全是js
border-image繪制原理簡述
我是這樣理解的:共存在兩個九宮格,一個是邊框圖片,還有一個就是邊框本身,九個方位關(guān)系一一對應(yīng)。邊框本身的特性讓其變成了一個九宮格,四條邊框交錯,加上其圍住的區(qū)域,正好形成一個九宮格。邊框圖片則是通過圖片剪裁實現(xiàn)了九宮格。這是理解繪制原理的基礎(chǔ)。
1、調(diào)用邊框圖片
border-image的url屬性,通過相對或絕對路徑鏈接圖片。
2、邊框圖片的剪裁
border-image的數(shù)值參數(shù)剪裁邊框圖片,形成九宮格。
3、剪裁圖片填充邊框
邊框圖片被切割成9部分,以一一對應(yīng)的關(guān)系放到div邊框的九宮格中,然后再壓縮(或拉伸)至邊框(border-width或border-image-width)的寬度大小。
4、執(zhí)行重復(fù)屬性
被填充至邊框九宮格四個角落的的邊框圖片是不執(zhí)行重復(fù)屬性的。上下的九宮格執(zhí)行水平方向的重復(fù)屬性(拉伸或平鋪),左右的格子執(zhí)行垂直方向的重復(fù)屬性,而中間的那個格子則水平重復(fù)和垂直方向的重復(fù)都要執(zhí)行。
5、完成繪制,實現(xiàn)效果
btn.onclick=st() 就相當(dāng)于
document.getElementById('btn').onclick = function(){
alert("sd")
}同一個路由不會主動再次觸發(fā),試試:
{
path: 'order/list/:type',
component: OrderListComponent,
canActivate:[AuthService],
runGuardsAndResolvers:'paramsChange'
}
這樣在你:type路由參數(shù)變化時會執(zhí)行相關(guān)路由事件。可以在組件類里面監(jiān)聽到
this.router.events.subscribe((e: any) => {
...
})bilibili是沒有廣告。看你怎么獲取鏈接了
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達(dá)內(nèi)教育集團成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國制造2025”,實現(xiàn)中華民族偉大復(fù)興的升級產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。