樓主,如果你已經(jīng)排好序的話,是不是要這個效果:
var newDataArray = dataList.reduce((target,current)=>{
if(target[target.length-1] == null || target[target.length-1][target[target.length-1].length - 1].categoryName !== current.categoryName) {
target.push([current])
} else {
target[target.length-1].push(current)
}
return target
}, []);
console.log(newDataArray)沒有css-loader你可以單獨安裝,這種問題應(yīng)該是不同依賴環(huán)境造成的。
或者簡單粗暴,把node卸載了,裝你同事那個版本
debounce和throttle是目前用得最廣泛的,具體可見樓上的一堆收藏;或者我也寫了一個簡易版的,用下面的函數(shù)包裹點擊回調(diào),如果前一次請求尚未結(jié)束,新請求會和舊請求一起返回。這樣的話回調(diào)要返回Promise
const debounceAsync = originalFunction => {
let currentExcution = null;
const wrappedFunction = async function () {
// 1. locked => return lock
if (currentExcution) return currentExcution;
// 2. released => apply
currentExcution = originalFunction.apply(this, arguments);
try {
return await currentExcution;
}
finally {
currentExcution = null;
}
};
return wrappedFunction;
};
用法
const sleep = (ms = 0) => new Promise(resolve => setTimeout(resolve, ms));
const debounceAsync_UNIT_TEST = async () => {
const goodnight = debounceAsync(sleep);
for (let i = 0; i < 8; i++) {
goodnight(5000).then(() => console.log(Date()));
await sleep(500);
}
console.warn('Expected output: 8 identical datetime');
};
看人家返回給你的是什么內(nèi)容了,如果是blob,這樣
jsFileDownload (filename, data, mime) {
let blob = new Blob([data], {type: mime || 'application/octet-stream'})
if (typeof window.navigator.msSaveBlob !== 'undefined') {
window.navigator.msSaveBlob(blob, filename)
} else {
var blobURL = window.URL.createObjectURL(blob)
var tempLink = document.createElement('a')
tempLink.style.display = 'none'
tempLink.href = blobURL
tempLink.setAttribute('download', filename)
if (typeof tempLink.download === 'undefined') {
tempLink.setAttribute('target', '_blank')
}
document.body.appendChild(tempLink)
tempLink.click()
document.body.removeChild(tempLink)
window.URL.revokeObjectURL(blobURL)
}
}
如果是url,那就很簡單了,沒必要我寫了
1.給對話框元素添加一個屬性isEdit,點擊添加按鈕的時候給這個屬性設(shè)置為false,點擊編輯的時候給這個屬性設(shè)置為true,在保存的時候獲取這個屬性判斷
2.當(dāng)然也可以把isEdit存為全局變量
你這個壓縮圖片有問題
你this.compress(vm.temp.base64Img);傳入的是base64格式的字符串canvas.width = img.width; canvas.height = img.height;這里base64格式的字符串是獲取不到寬高的
這句canvas.toDataURL("image/jpeg", 0.15)你之前沒有把圖片畫到canvas上所以的canvas上是空的
callback:
compress(base64img,callback) {
var img = new Image();
img.src = base64img;
img.onload = function(){
var width = img.width;
var height = img.height;
var canvas = document.createElement("canvas");
canvas.width = width;
canvas.height = height;
canvas.getContext("2d").drawImage(img,0,0,width,height);
callback(canvas.toDataURL("image/jpeg", 0.15))
}
}
//調(diào)用
vm.compress(vm.temp.base64img, function (base64img) {
uploadImage({ base64img }).then(response => {
const data = response.data;
//...
});
});
promise:
function compress(base64img, callback) {
return new Promise(function (resolve) {
var img = new Image();
img.src = base64img;
img.onload = function () {
var width = img.width;
var height = img.height;
var canvas = document.createElement("canvas");
canvas.width = width;
canvas.height = height;
canvas.getContext("2d").drawImage(img, 0, 0, width, height);
resolve(canvas.toDataURL("image/jpeg", 0.15))
}
})
}
//調(diào)用
vm.compress(vm.temp.base64img)
.then(base64img => uploadImage({ base64img }))
.then(response => {
const data = response.data;
//...
});jquery對象和dom對象,jquery方法和dom方法了解一下
<a>你給 state.text 設(shè)置一個初始值看可以展示嗎?<b>還有那個InputItem的屬性名不是value而是val嗎?antd路人答
在antd的doc上看并未發(fā)現(xiàn)inputItem組件value屬性有一個別名叫val的。樓主還是按照第<a>的方式看下可以嗎?不行的話就是val屬性有問題了
我找到答案了,是我的錯。我取出的時候應(yīng)該:
this.$route.params.is_used這樣取出.
你這個寫法應(yīng)該是 vue-router 吧, vue-router 常見有三種格式的路由守衛(wèi):
1) 全局路由守衛(wèi)
如 beforeEach, afterEach
2) 路由獨享守衛(wèi)
如 beforeEnter
3) 組件獨享守衛(wèi)
如 beforeRouterEnter, beforeRouterUpdate, beforeRouterLeave
他們的應(yīng)用場景各不相同,你問的太寬泛,所以都有可能。
寫個傳參方法,調(diào)用10次
https://a.com/user/account
a.com 對應(yīng)于服務(wù)器上的某個文件夾,user/account 是文件夾下底下的某個資源,由于使用了vue-route,這些資源在這個文件夾里是不存在,所以返回 404 ,所以服務(wù)器需要做url rewrite, 把所有請求都指向 index.html 這個文件是真實存在的.
官方給出了大部分服務(wù)器的配置方式:https://router.vuejs.org/zh-c...
或者使用默認的hash方式,
https://a.com/#/user/account, 這里的#分割符號之后的內(nèi)容都是服務(wù)器的路徑,只是一些參數(shù)(甚至理解為注釋),(還有URL中第一次出現(xiàn)的?是GET參數(shù)分隔符,也不會去查找), 所以不需要服務(wù)器作任何處理,因為所有的請求,都是指向index.html的.
應(yīng)該能解決第二個問題,
第一個問題不太理解,多說一句加了 .html 就是另一個資源.
跨域了,請求的地址不允許來自'http://localhost:8080'的請求
你可以考慮react-saga。
火狐瀏覽器,#緩存機制的問題,已經(jīng)自己解決勒
那要看看你的ctx為什么是個Promise。
代碼 1 中,數(shù)組 result 中的函數(shù)都引用的 createFunctions 中的變量,而 for 循環(huán)結(jié)束之后,i 的值為 10,所以你打印出來的都是 10。
這實際是 閉包延遲計算 的問題:
result[i] = function() {
return i;
}; // 在執(zhí)行 這個語句的時候,解釋器并沒有計算 i 的值,直到你調(diào)用 `result[i]` 的時候,這時 i 已經(jīng)是 10 了 http -> upgrade -> 服務(wù)器同意 -> 升級為websocket -> 該干嘛干嘛
一不一個頁面沒什么所謂。
已經(jīng)解決,就是數(shù)組最高元素的數(shù)值
e.target.classList.add('className')
//e.target.classList.remove('className')北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(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)教融合/校企合作的政策,積極推進“中國制造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)辦藍懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負責(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)師。