鍍金池/ 問(wèn)答/ HTML問(wèn)答
選擇 回答

legend -> left:0

幼梔 回答

異步函數(shù)都沒(méi)有開(kāi)始處理,打出來(lái)的值當(dāng)然是空了;需要執(zhí)行完后才有結(jié)果

let timeLine = req.body.timeLine; // ['2018-1', '2018-2', '2018-3', '2018-4', '2018-5', '2018-6', '2018-7', '2018-8', '2018-9', '2018-10', '2018-11', '2018-12']

let loadDepartment = ['南京南', '南京所', '合肥南', '徐州東'];
let result = [];
let promises = loadDepartment.map((department, index, arr) => {

    async function loadData(condition) {
        let client = await getMGClient(url);
        let db = client.db(dbName);
        let coll = db.collection('JLarrange');
        let dataInDB = await coll.find(condition).toArray();
        return dataInDB[0];
    }
    let tempdata = [];
    let promises1 = []
    for (let index in timeLine) {
        console.log(index)
        let condition = {
            department,
            tableName: timeLine[index]
        }
        promises1.push(loadData(condition).then(dataInDB => {
            let monthTime = 0;
            if (!!dataInDB) {
                //數(shù)據(jù)存在
                for (let dataindex in dataInDB.data) {
                    monthTime += dataInDB.data[dataindex].workTime;
                }
            }
            tempdata.push(monthTime)
            console.log(tempdata) //這里輸出的tempdata有值
        }))

    }
    console.log(tempdata) //這里輸出的tempdata全部為[]**
    return Promise.all(promises1).then(() => {
        result.push({
            department: department,
            data: tempdata
        });
    })
})
Promise.all(promises).then(() => {
    console.log(result);
})
選擇 回答

</servlet-mapping>
這個(gè)是前端控制器設(shè)計(jì)模式的實(shí)現(xiàn),提供Spring Web MVC的集中訪問(wèn)點(diǎn),而且負(fù)責(zé)職責(zé)的分派,而且與Spring IoC容器無(wú)縫集成,從而可以獲得Spring的所有好處
DispatcherServlet主要用作職責(zé)調(diào)度工作,本身主要用于控制流程,主要職責(zé)如下:

文件上傳解析,如果請(qǐng)求類型是multipart將通過(guò)MultipartResolver進(jìn)行文件上傳解析;
通過(guò)HandlerMapping,將請(qǐng)求映射到處理器(返回一個(gè)HandlerExecutionChain,它包括一個(gè)處理器、多個(gè)HandlerInterceptor攔截器);
通過(guò)HandlerAdapter支持多種類型的處理器(HandlerExecutionChain中的處理器);
通過(guò)ViewResolver解析邏輯視圖名到具體視圖實(shí)現(xiàn);
本地化解析;
渲染具體的視圖等;
如果執(zhí)行過(guò)程中遇到異常將交給HandlerExceptionResolver來(lái)解析。

load-on-startup:表示啟動(dòng)容器時(shí)初始化該Servlet;如果它存在,則它將在應(yīng)用程序啟動(dòng)時(shí)裝在servlet并調(diào)用它的init方法。若不存在,則在該servlet的第一個(gè)請(qǐng)求時(shí)加載。
url-pattern:表示哪些請(qǐng)求交給Spring Web MVC處理, “/” 是用來(lái)定義默認(rèn)servlet映射的。也可以如“*.html”表示攔截所有以html為擴(kuò)展名的請(qǐng)求。

該DispatcherServlet默認(rèn)使用WebApplicationContext作為上下文,Spring默認(rèn)配置文件為“/WEB-INF/[servlet名字]-servlet.xml”。
<listener>

別傷我 回答

一行代碼解決問(wèn)題!

console.log([...str].map((val) => arr.indexOf(val) > -1 ? val = '替換字符' : val));
小曖昧 回答

if(authLocal(username, cb)){

authPassword(password, cb)

}else if(authQQ(username, cb) || authWeibo(username, cb)){

authPriviage(username,cb)

}else{

console.log('驗(yàn)證不通過(guò)')

}
說(shuō)實(shí)話 我沒(méi)看出來(lái)這是個(gè)異步的流程

jQ不提供特征識(shí)別,去找第三方庫(kù)做。

枕頭人 回答

127.0.0.1:8080呢?

青檸 回答

最后兩句寫到onload里面啦~加載圖片是要時(shí)間的~而JS又不是同步執(zhí)行的~

IMG.onload = function() {
  context.drawImage(IMG, 0, 0);
  const url = canvas.toDataURL('image/png');
  document.getElementById('canvas').innerHTML = `<img src=${url} />`;
}
深記你 回答

解決

html字符串拼接的那句代碼改成

var html_str = "<button onclick=\"("+data.fa+")()\">button</button>";

原因

  1. 你拼接的時(shí)候,引號(hào)沒(méi)使用正確
  2. 即使引號(hào)拼接對(duì)了,onclik的值也有問(wèn)題

原理

綁定事件處理函數(shù)有兩種情況

  • js中綁定,綁定函數(shù)就行了
  • html中綁定,必須是綁定函數(shù)的調(diào)用,即必須在函數(shù)后面加()

建議

  • 還是通過(guò)js綁定比較好,或者直接綁定一個(gè)具名函數(shù),這種綁定函數(shù)體的作法,引號(hào)太多了,麻煩得很
  • 了解一下犀牛書事件那一章
陌上花 回答

bus只能傳遞數(shù)據(jù) 哪里能傳遞方法

bus.$emit('send',this.msg);

bus.$on('send',function(msg){

_this.msg = msg;

});

陌顏 回答

clipboard.png

xAxis: {
    type: 'category',
    inverse: true,
    data: ['Sunny', 'Cloudy', 'Showers'],
    axisLabel: {
        formatter: function (value) {
            return '{value|' + value + '}';
        },
        rich: {
            value: {
                width: 100,
                backgroundColor: 'yellow'
            }
        }
    }
}

目前我發(fā)現(xiàn)只能把寬度設(shè)置成具體的像素值,不能實(shí)現(xiàn)背景寬度是刻度單位的百分?jǐn)?shù)。
echarts官網(wǎng)參考地址

clipboard.png

耍太極 回答

你的問(wèn)題描述不太準(zhǔn)確,我不知道怎么回答你。
但是關(guān)于crc32負(fù)數(shù)我也遇到類似問(wèn)題,以下是相關(guān)分析,你可以參考參考

crc32的過(guò)程是怎樣的我沒(méi)有仔細(xì)研究,但是通過(guò)分析負(fù)數(shù)結(jié)果和簡(jiǎn)單的查閱資料,得出如下結(jié)論:

以字符串TEST為例

crc32('TEST') === -286616648 ; // true

根據(jù)crc32的算法這里的-286616648理應(yīng)是一個(gè)4字節(jié)有符號(hào)整數(shù),對(duì)應(yīng)的二進(jìn)制是:
11101110111010101001001110111000

但由于JS的Number是64位的8字節(jié)有符號(hào)整數(shù)的,加上不知道那個(gè)算法是怎樣轉(zhuǎn)換的,
結(jié)果就變成8字節(jié)有符號(hào)整數(shù)-286616648

(-286616648).toString(2) === '-10001000101010110110001001000'; // true

而使用正確的二進(jìn)制是:

parseInt('11101110111010101001001110111000', 2) === 4008350648; // true
(4008350648).toString(2) === 'eeea93b8'; // true

eeea93b8 才是正確的crc32碼

在Node端,可以通過(guò)Buffer.readInt32BE等函數(shù)實(shí)現(xiàn)轉(zhuǎn)換。
在瀏覽器端,暫時(shí)沒(méi)想出很好的轉(zhuǎn)換,我也在研究中。

我的回答暫時(shí)不能提供解決辦法,但CRC32的負(fù)數(shù)原因大致如此,希望能幫到你

毀了心 回答

服務(wù)器會(huì)根據(jù)這個(gè) callback 組成 callback(json) 這種內(nèi)容返回, ajax 拿到之后使用 script 標(biāo)簽插入 html 就會(huì)執(zhí)行函數(shù)調(diào)用了, 其中的參數(shù)就是服務(wù)器給的數(shù)據(jù)

陪我終 回答

chrome的開(kāi)發(fā)工具里有一個(gè)功能,叫做“Break on…”,你在DOM節(jié)點(diǎn)上右鍵,就能看到這個(gè)菜單項(xiàng)。斷點(diǎn)的觸發(fā)條件可以設(shè)置成這個(gè)節(jié)點(diǎn)被刪除、節(jié)點(diǎn)的屬性有任何變化,或它的某個(gè)子節(jié)點(diǎn)有變化發(fā)生。

圖片描述

圖片描述

監(jiān)聽(tīng)mousemove事件設(shè)置background-position屬性實(shí)現(xiàn)

不歸路 回答

后臺(tái)什么無(wú)所謂啊,PHP、jsp、asp.net...什么的都可以吧,做這些東西都是前后端分離的呀,后臺(tái)做數(shù)據(jù)處理的話php是可以的,游戲界面如果是app的話,用Android、ios什么的開(kāi)發(fā)UI,如果是網(wǎng)頁(yè)直接h5就可以了,然后調(diào)接口傳輸數(shù)據(jù)回后臺(tái)處理游戲數(shù)據(jù)就好了

孤毒 回答

讓你提供一個(gè)類,你非的提供一個(gè)實(shí)例