鍍金池/ 問(wèn)答/ HTML問(wèn)答
笨小蛋 回答

你用js獲取一下點(diǎn)擊事件,然后重寫(xiě)他,或者讓他失效吧
jquery移除、綁定、觸發(fā)元素事件使用示例詳解

挽青絲 回答

N/A 是沒(méi)有設(shè)置的意思

孤影 回答

1.var會(huì)導(dǎo)致變量提升,如果你在for循環(huán)中var了i,那么在該作用域中是可以找到i的
如for(var i =0;i<5;i++){}
console.log(i) //5

2.let是Es6中的聲明方式,但是所聲明的變量,只在let命令所在的代碼塊內(nèi)有效。
for(let i =0;i<5;i++){}
console.log(i) //報(bào)錯(cuò)
詳見(jiàn):http://es6.ruanyifeng.com/#do...

你好胸 回答

css好像沒(méi)這操作;既然寫(xiě)成這樣,為何不用表格

笨小蛋 回答

判斷下向上還是向下滑就可以了,

先取初始的 scrollTop,和滑動(dòng)之后的scrollTop比較下

紓惘 回答

親測(cè)loop屬性有效。我的版本是 65.0.3325.181(正式版本) (32 位)

老梗 回答
yield put({
      type: Actions.GET_ASSEMBLYLINE_LIST,
      payload: assemblyLineList
    });

為啥獲取數(shù)據(jù)成功時(shí)候 還是這個(gè)type,應(yīng)該一個(gè)新的type呀比如GET_ASSEMBLYLINE_SUCCEED

笑忘初 回答
  1. 從網(wǎng)頁(yè)里找東西,不要用正則,因?yàn)闀?huì)寫(xiě)的很復(fù)雜,通用性很差。大部分語(yǔ)言都有現(xiàn)成的包,直接裝一個(gè)建樹(shù)遍歷吧。
  2. 學(xué)正則推薦 正則表達(dá)式30分鐘入門教程
下墜 回答

https://stackoverflow.com/que...

https://blog.csdn.net/starsno...

如果是偶發(fā),應(yīng)該是服務(wù)器端問(wèn)題。
如果是常常發(fā)生現(xiàn)象,應(yīng)該是擴(kuò)展程序問(wèn)題。

萌面人 回答
  1. 一般給的設(shè)計(jì)圖都是有內(nèi)容寬度的,這個(gè)寬度一般不會(huì)太大,一般1000左右。
  2. 一般全寬度的都是什么產(chǎn)品大圖,banner這種。布局大致如下

clipboard.png
每個(gè)框都是獨(dú)立的div哈

題外話

如果內(nèi)容寬度超過(guò)了1200,建議和設(shè)計(jì)師溝通一下,畢竟橫向滾動(dòng)條比較反人類

陪她鬧 回答

1.你需要下載eslint擴(kuò)展
2.你需要下載vetur擴(kuò)展。
3.指定eslint規(guī)則(項(xiàng)目根目錄下新建.eslintrc.js,不清楚可以百度elisnt規(guī)則),網(wǎng)上有模板的,自己根據(jù)喜好配置,以便在第4步自動(dòng)按照這個(gè)格式格式化(比如你寫(xiě)的是雙引號(hào),ctrl+s后自動(dòng)格式化成單引號(hào))
4.

"editor.formatOnSave": false,
"vetur.format.defaultFormatter.html": "js-beautify-html",
"eslint.autoFixOnSave": true,
"eslint.validate": [
    "javascript",
    "javascriptreact",
    "html",
    {
        "language": "vue",
        "autoFix": true
    },
    {
        "language": "typescript",
        "autoFix": true
    },
    {
        "language": "typescriptreact",
        "autoFix": true
    }
],
抱緊我 回答
背景
目前項(xiàng)目中會(huì)使用了Iaas中的vm,所有操作都是通過(guò)ssh連上去的。pm表示要不要寫(xiě)個(gè)agent在里面用,現(xiàn)在每次操作都ssh一下都很惡心。

談?wù)勎艺J(rèn)為使用ssh的好處:
代碼集中在一處,不需要分發(fā)
不需要維護(hù)agent這么一個(gè)進(jìn)程的生命周期,以及檢測(cè)它的心跳
缺點(diǎn):

不支持異步
我想問(wèn)的問(wèn)題
ssh的開(kāi)銷大嗎?在我看來(lái)似乎和寫(xiě)一個(gè)基于web server 的agent差不多
大家一般是如何選型的?為什么這么選?

這個(gè)東西以前做過(guò)類似的,也有過(guò)反思,甚至設(shè)計(jì)的原型和你說(shuō)的一模一樣。

例如,我為什么要用基于web server的agent呢,我干嘛不用tcp長(zhǎng)連接到服務(wù)端,這樣執(zhí)行的結(jié)果可以流式傳輸?shù)秸{(diào)用方,他那邊顯示起來(lái)比較平滑,不用每個(gè)命令執(zhí)行完等結(jié)果。
但是我這樣搞的話,中控端流量和日志存儲(chǔ)就成了問(wèn)題了啊。
如果我的業(yè)務(wù)都在云上,如果不同機(jī)房網(wǎng)絡(luò)不互通的話,我又要蛋疼地搞點(diǎn)兼容的事情……
例如,agent的生命周期,為什么我要檢測(cè)她的心跳呢?機(jī)器上萬(wàn)臺(tái)的話,任何可能的事情都會(huì)發(fā)生啊,修復(fù)起來(lái)太蛋疼了。但是我不處理的話……所以后面我會(huì)考慮用ssh來(lái)修復(fù)agent啊。

我假設(shè)你所有的機(jī)器都是linux,發(fā)行版為同一種。

SSH:

  1. 依賴于ssh的速度,一旦網(wǎng)絡(luò)抖動(dòng),ssh操作便會(huì)失敗。(低概率/風(fēng)險(xiǎn))
  2. 依賴于key,如果你安全策略不夠嚴(yán)謹(jǐn),或者管理比不嚴(yán)格的話,那么必然會(huì)造成root key的泛濫。(安全風(fēng)險(xiǎn)高)
  3. 開(kāi)源技術(shù)很成熟,你很容易就能用幾行python包裝出一個(gè)比較完善的腳本,或者寫(xiě)出一個(gè)ansible的配置。(用起來(lái)簡(jiǎn)單)

AGENT:

  1. 依賴于中控端。如果你不打算搞個(gè)中控端,那和ssh沒(méi)本質(zhì)區(qū)別。
  2. 其實(shí)和SSH一樣,依賴于網(wǎng)絡(luò),一旦抖動(dòng)也會(huì)出問(wèn)題。
  3. 保活。如果你的公司稍微大點(diǎn)的話,會(huì)有各種亂七八糟的原因能讓你的agent不起作用,甚至被kill。雖然處理起來(lái)沒(méi)啥問(wèn)題,但是這個(gè)活總得有人來(lái)干。(低風(fēng)險(xiǎn))
  4. 維護(hù)。(成本中等)
  5. agent其實(shí)可以不用中間代碼,因?yàn)橐环矫婀ぷ髁勘容^大,一方面教育成本和學(xué)習(xí)成本也比較高。只是向agent下發(fā)shell腳本、python腳本等也可以完成相同的功能,沒(méi)問(wèn)題的。

大公司有各種審計(jì)、安全方面的需求,會(huì)把這種事情統(tǒng)一到某個(gè)地方,搞個(gè)中控端,所有的批量操作必須通過(guò)中控端。模式也不一樣,有些用agent,有些用ssh,只有中控端才是必須要有的。

再說(shuō)的直白點(diǎn),
你是個(gè)小公司,小于30臺(tái)機(jī)器或者小于50臺(tái)機(jī)器的話,不建議考慮agent模式。
沒(méi)那個(gè)需求,投入的成本大而收效低。
基于各種第三方框架包裝一個(gè)就好了嘛,嫌麻煩就ansible用起。

練命 回答
這是路由的懶加載,問(wèn)題描述的有點(diǎn)模糊,不知道是不是你要的
  • 聲明
const view = (path, name) => () => import(`@/components/${path}${name}`)// 路由按需加載
  • 用法
export default new Router({
  routes: [

    {
      path: '/',
      name: 'Index',
      component: view('', 'Index'),
      children: [
        {
          path: '/',
          name: 'Recomend',
          component: view('', 'Recomend')
        }
      ]
    }    
  ]
})
冷咖啡 回答

總覺(jué)得是你的換行符被替換成空格的問(wèn)題

祉小皓 回答

$refs.wrap 拿到的是一個(gè)VUE組件,并不是一個(gè)DOM。
如果想要手動(dòng)操作DOM,在組件內(nèi)給節(jié)點(diǎn)一個(gè)ID,比如el-col上給一個(gè)ID,然后用this.$el.querySelector(#ID)拿到來(lái)進(jìn)行操作。

終相守 回答

可以用download屬性。比如<a download="filename"> 。詳見(jiàn)這里

冷溫柔 回答

不是太清楚題主的需求,也沒(méi)考慮其他情況,大概寫(xiě)了一下,僅供參考。

假設(shè)把你的字符串作為一個(gè)數(shù)組輸入,每一行字符串就是數(shù)組的一個(gè)元素

function parse(obj, str){
    let [key, type, remark, mock] = str.split('|').filter(i => i);
    key = key.trim().replace(/`/g,'');
    type = type.trim();
    remark = remark.trim();
    mock = mock.trim();
    const keyArr = key.split('.');
    generateObj(obj, keyArr, {
        type,
        remark,
        mock
    });
}

function generateObj(obj, keyArr, info){
    let tmpObj = obj;
    const len = keyArr.length;
    keyArr.forEach((key, idx) => {
        tmpObj[key] = tmpObj[key] || {};
        if(idx === len - 1){
            tmpObj[key] = {
                ...tmpObj[key],
                ...info,
                must: 1
            }
        }
        tmpObj = tmpObj[key];
    });
}

// 主函數(shù)
function process(strArr) {
    if (!strArr) return;
    const res = {};
    strArr.forEach(item => {
        parse(res, item);
    });
    return res;
}

const input = ['| Str | String | 字符串 | mock1 |', 
'| `message` | Object | 消息 | mock2 |', 
'| `message.data` | Object | 消息2 | mock3 |', 
'| `message.data.data2` | Object | 消息3 | mock4 |'];

console.log(process(input));