鍍金池/ 問(wèn)答/ HTML問(wèn)答
糖豆豆 回答

你要看看你的enter鍵是在哪里被捕獲了,會(huì)跳轉(zhuǎn)的時(shí)候看頁(yè)面的焦點(diǎn)在哪里,刷新之后焦點(diǎn)在哪里

千萬(wàn)別這樣做,小程序代碼對(duì)用戶(hù)是透明的(就只是壓縮了一下)
攻擊者就可以偽造成功請(qǐng)求了

夏木 回答
var menuArray=[
    { id: 1, name: "統(tǒng)計(jì)內(nèi)容", pid: 0 },
    { id: 2, name: "產(chǎn)品部", pid: 1 },
    { id: 3, name: "UE", pid: 2 },
    { id: 4, name: "產(chǎn)品", pid: 2 },
    { id: 5, name: "研發(fā)部", pid: 1 },
    { id: 6, name: "前端", pid: 5 },
    { id: 7, name: "Java", pid: 5 },
    { id: 8, name: "測(cè)試部", pid: 1 },
    { id: 9, name: "測(cè)試1", pid: 8 },
    { id: 10, name: "測(cè)試2", pid: 8 }
];

let menuDict = menuArray.reduce((t, c)=> [c.item=[], t['' + c.id] = c, t][2], {});

let result =  menuArray.reduce((t, c)=>{
    if(menuDict[c.pid]) {
        menuDict[c.pid].item.push(c);
    } else {
        t.push(c)
    }
    return t 
}, [])

console.log(result);
瘋子范 回答

npmcnpm生成的node_modules目錄結(jié)構(gòu)是不同的,cnpm會(huì)給每個(gè)包生成空的文件夾,指向?qū)嶋H的包文件目錄,相對(duì)比較雜亂。

另外用cnpm只能解決依賴(lài)的下載,對(duì)于需要下載額外資源的包,比如node-sass需要下載一個(gè)額外的node文件,這時(shí)只能根據(jù)作者的腳本來(lái)決定(大部分是npm)。極少的包會(huì)自動(dòng)切換源,比如vue-cli。

所以最好是利用npm下載,同時(shí)設(shè)置倉(cāng)庫(kù)目錄為cnpm源。方法可以是樓上說(shuō)的npm config,也可以在項(xiàng)目目錄設(shè)置.npmrc

話(huà)寡 回答

idAccessToken不都是data的成員么?還是說(shuō)你在哪又單獨(dú)定義過(guò)?

賤人曾 回答

方式一:使用es6語(yǔ)法

this.setData({
  [`articles[${this.data.currentNavbar}].list`]: initdata.concat(res.data.data)
})

方式二:整體賦值

articles[this.data.currentNavbar].list = initdata.concat(res.data.data)
this.setData({
  articles: articles
})

參考鏈接

  1. 鏈接1
  2. 鏈接2
瘋子范 回答

通過(guò)路由控制,你可以參考下


    <div class="content">

      <left-menu class="left-menu"></left-menu>

      <div class="right-content">
        <el-tabs v-show="tabList.length>0" v-model="tabValue" type="border-card" closable
                 @contextmenu.prevent.native=" showMenu "
                 @tab-click="onTabClick" @tab-remove="removeTab">
          <el-tab-pane
            v-for="(item, index) in tabList"
            :key="index"
            :label="item.title"
            :name="item.name"
          >
          </el-tab-pane>

        </el-tabs>
        <keep-alive :include="includes">
          <router-view class="r-content"></router-view>
        </keep-alive>
      </div>
    </div>
離人歸 回答

安卓調(diào)試需要先自行開(kāi)啟安卓模擬器

慢半拍 回答

app.use('/:foo', cb)
可以不匹配 '/' 而匹配 '/xxx'

苦妄 回答

keydown 換成 keyup 就可以了,

原因:keydown->value 改變->keyup(超過(guò)一定間隔沒(méi)有 keyup ,會(huì)繼續(xù) keydown ),setTimeout 有個(gè)最小間隔,導(dǎo)致捕獲到了改變后的 value ,沒(méi)有setTimeout 的時(shí)候,直接捕獲的是改變前的value,測(cè)試戳 demo

骨殘心 回答
<span ng-if='!(checkTypeData && checkTypeData[0].checkEName)'>{{item.checkName}}</span>
<span ng-if='(checkTypeData && checkTypeData[0].checkEName'>{{item.checkEName}}</span>
久礙你 回答

總得來(lái)說(shuō)是我自己寫(xiě)的不嚴(yán)謹(jǐn),算是曲線(xiàn)救國(guó)了,修改componentWillReceiveProps()變成

  componentWillReceiveProps(nextprops){
    let refresh = false;
    Object.keys(nextprops).forEach((value, index) => {
      if(nextprops[value] != this.props[value]){
        refresh = true;
      }
    })
    if(!refresh) return;
    this.refreshProps(nextprops);
  }

先在 componentWillReceiveProps 判定一下nextprops是否變化了,變化了則刷新組件,這個(gè)暫時(shí)解決了多個(gè)(超過(guò)兩個(gè))ajax請(qǐng)求的問(wèn)題,有幾個(gè)prop參數(shù),componentWillReceiveProps 就會(huì)執(zhí)行幾遍。

然后把a(bǔ)jax請(qǐng)求拆分成單獨(dú)的函數(shù),判斷必填ajax參數(shù)是否為空,為空就不執(zhí)行,解決了兩個(gè)ajax請(qǐng)求的問(wèn)題(請(qǐng)求參數(shù)不嚴(yán)謹(jǐn),為空也發(fā)送請(qǐng)求。)

兩個(gè)方法:

1.
readPicFile(){
  let that=this;
  ...
  reader.onload = function (e) {
       that.base64 = xxx;   
    }
  }

2.
readPicFile(){
  ...
  reader.onload = (e)=> {
       this.base64 = xxx;   
    }
  }
糖豆豆 回答

跟ajax無(wú)關(guān),分析一下dataset數(shù)據(jù)再進(jìn)行下一步操作

巴扎嘿 回答

我怎么找不到這個(gè)api

空痕 回答

加入這個(gè)依賴(lài)試試

<dependency>
    <groupId>org.apache.ibatis</groupId>
    <artifactId>ibatis-core</artifactId>
    <version>3.0</version>
</dependency>