在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答
巷尾 回答

生成隨機數(shù),判斷是否在前一次的數(shù)組中出現(xiàn),如果不是就push到新數(shù)組里。

const generatorRandomArray = (function() {
  //用于保存前一次計算得到的數(shù)組
  let savedArray = []; 
  //生成隨機數(shù)的函數(shù)
  function generatorRandom(n) {
    return Math.ceil(Math.random() * n);
  }
  return function(n) {
    let newArray = [];
    for (let i = 0; i < 5; i++) {
      var num;
      while (true) {
        num = generatorRandom(n);
        //判斷隨機數(shù)是否在前一次數(shù)組中出現(xiàn)
        if (!savedArray.includes(num) && !newArray.includes(num)) {
          break;
        }
      }
      newArray.push(num);
    }
    savedArray = [...newArray];
    return newArray;
  };
})();

函數(shù)接受一個參數(shù)表示隨機數(shù)的邊界,比如generatorRandomArray(300)表示生成的隨機數(shù)在1~300

愿如初 回答

你現(xiàn)在vue-devtools里面看下getters里面有沒有你定義的這個名稱,如果沒有說明你vuex有問題

風畔 回答

在組件中定義一個屬性,假設叫 beforeDataProcess,該屬性傳入的是一個函數(shù),作用就是:將后端返回的數(shù)據(jù)轉化為組件需要的數(shù)據(jù)格式

舉個例子,假設組件需要的數(shù)據(jù)格式是:

{
  name: 'xxx',
  id: 'xxx'
}

后端傳的數(shù)據(jù)格式是:

{
  name: 'xxx',
  value: 'xxx'
}

此時我可以定義 beforeDataProcess 如下:

beforeDataProcess (rawData) {
  return {
    name: rawData.name,
    id: rawData.value
  }
}

那么拿到后端數(shù)據(jù)的時候,組件內部就可以調用 this.beforeDataProcess({ name: 'xxx', value: 'xxx' }) 將后端返回的數(shù)據(jù)轉為組件需要的數(shù)據(jù)格式

荒城 回答

可以考慮分頁,前端可以一次性把數(shù)據(jù)都請求過來,但不要一次性全部渲染出來,在前端進行分頁,這樣每次點擊分頁只渲染對應的數(shù)據(jù)即可。

終相守 回答

剛開始沒看明白,以為講的是業(yè)務組件的事情。去搜了文章看才明白怎么回事。

文章來自知乎,題主以后類似問題可以在題目中注明
https://zhuanlan.zhihu.com/p/...

這篇文章講的是組件庫的設計,全文有一個很明確的觀點,即組件庫應該給使用者足夠高的自由度,以避免組件與外部的耦合,提高組件的靈活性。紅圈這里的回調并不是指一般意義上的請求或者事件的回調函數(shù),而是指組件渲染的回調函數(shù),通常組件提供這類回調時為了讓使用者聲明組件具體的渲染方式,以及數(shù)據(jù)的處理邏輯。

有一個很好的例子是antdTable組件,該組件提供了一個展開單行表格的功能。這里展開的內容就是通過回調函數(shù)來聲明的?;卣{函數(shù)提供每一行的數(shù)據(jù)(即紅圈處整個對象),由使用者負責處理數(shù)據(jù),并返回一個DOM結構。組件在實際渲染時,會循環(huán)調用這個回調函數(shù),將返回的DOM結構作為展開行的實際內容渲染。

如此一來,antd并不關心你傳入數(shù)據(jù)的結構或者屬性名,因此實現(xiàn)了和后端,也就是數(shù)據(jù)源的解耦

import { Table } from 'antd';

const columns = [
  { title: 'Name', dataIndex: 'name', key: 'name' },
  { title: 'Age', dataIndex: 'age', key: 'age' },
  { title: 'Address', dataIndex: 'address', key: 'address' },
  { title: 'Action', dataIndex: '', key: 'x', render: () => <a href="#">Delete</a> },
];

const data = [
  { key: 1, name: 'John Brown', age: 32, address: 'New York No. 1 Lake Park', description: 'My name is John Brown, I am 32 years old, living in New York No. 1 Lake Park.' },
  { key: 2, name: 'Jim Green', age: 42, address: 'London No. 1 Lake Park', description: 'My name is Jim Green, I am 42 years old, living in London No. 1 Lake Park.' },
  { key: 3, name: 'Joe Black', age: 32, address: 'Sidney No. 1 Lake Park', description: 'My name is Joe Black, I am 32 years old, living in Sidney No. 1 Lake Park.' },
];

ReactDOM.render(
  <Table
    columns={columns}
    expandedRowRender={record => <p style={{ margin: 0 }}>{record.description}</p>}
    dataSource={data}
  />
, mountNode);

可展開的組件

淺淺 回答

一般是鍵值對匹配的吧,‘不知道哪張是哪張’是因為你們數(shù)據(jù)結構設計的有問題吧。
比如返回一個json串

{
    "code" : 200,
    "result" : {
        "list" : [
            { "url":"http://abc.com/i1.png","title":"tlt1"},
            { "url":"http://abc.com/i2.png","title":"tlt2"},
            { "url":"http://abc.com/i3.png","title":"tlt3"}
        ],
        "kv" : {
            "key1" : "http://abc.com/i1.png",
            "key2" : "http://abc.com/i2.png",
            "key3" : "http://abc.com/i3.png",
        }
    }
}

一般第一種“l(fā)ist”是按順的排列形式,不用區(qū)分,
第二種是key-value的模式

半心人 回答

org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type com.qycloud.oatos.license.domain.User to type java.lang.String

類型轉換錯誤

心上人 回答

使用 koa 的 ctx.attachment() 方法即可。

舊螢火 回答

已經(jīng)解決該問題, 使用vuex提供的MutationsTree方法即可解決個報錯問題, mutations.ts中的代碼如下

//mutations.ts

import * as types from './mutations-types'
import { MutationTree } from 'vuex'

const mutations: MutationTree<any> = {
  [types.INCREMENT_NUMBER](state, data:number): void {
    state.initNumber += data;
  }
}

export default mutations
陌上花 回答

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

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

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

_this.msg = msg;

});

萌吟 回答

1) 只需要第一個就可以了.(上面文字有介紹,第二個的東西已經(jīng)包含在第一個里面了)
2) 接下來直接安裝就行了. 更多具體情況,你還是自己看文檔了.這種三言兩語也說不清.
如果身邊有熟悉的人,直接找身邊的人指導比較好.

網(wǎng)妓 回答

function() use($data){}
更優(yōu)雅一些,但需要注意的是繼承過來的$data值與這個閉包聲明的上下文有關
例如:

[1]
$data = 1;
function() use($data){}//此時繼承的變量值為1
[2]
$data = 1;
function() use($data){}
$data = 2;
此時再調用閉包函數(shù),$data的取值為其聲明時的上下文的值,值為1
$data = 1;
$x = function() use ($data){
    var_dump($data);
    exit;
};
$data = 2;
function ttt($a)
{
    $a();
}
ttt($x);
生性 回答

如果你對id的處理是在constructor或者componentDidMount,那么就不會更新,因為如果你只改變id,組件并不會銷毀,僅僅是props改變了,最多重新render一下。所以依賴于你對id怎么處理的

神曲 回答

你把<a href="" name="a1">123</a>這句話中的href=""去掉就可以了,a標簽中有了href="",點擊a標簽的時候會強制刷新頁面,導致你自定義的click點擊因頁面刷新無效。

青黛色 回答

因為C是靜態(tài)類型的語言,因此兩個不同變量就是位于兩個不同內存地址的,即使內容完全一樣。請注意,是“變量”!

伴謊 回答

猜測你提交的時候并沒有先調用表單校驗的方法。

 this.$refs[name].validate((valid) => {
        if (valid) {
            this.$Message.success('Success!');
            // 到這里才進行提交表單
        } else {
            this.$Message.error('Fail!');
        }
    })
淡墨 回答

不會有問題的, 你把幾個幾個函數(shù)簡化下只輸出一些文字, 排除函數(shù)執(zhí)行腳本出錯

薔薇花 回答

在data定義一個PageSize,然后引用 :page-size="PageSize" ,然后在切換顯示條數(shù)函數(shù)寫上this.PageSize = pageSize;就可以了

祈歡 回答

...可能是滾動的太猛,scroll觸發(fā)多次,造成多次請求。設置個標志位試試,每次請求前檢查標志位,判斷是否正在請求,scroll加throttle函數(shù)。

笑浮塵 回答

鬧劇一場,上面的內容是主動重啟服務器時的日志記錄。節(jié)點1掛了,客戶搞錯了去重啟節(jié)點2才出現(xiàn)了上面的日志。沉痛的教訓,忙活大半天。