Czy istnieje sposób na uproszczenie poniższego kodu?

let { page_size, current_page } = paging;

this.p_start = page_size * current_page;
this.p_current = current_page;
this.p_dg_current = this.p_current + 1;
this.p_size = page_size;

paging jest obiektem i ma właściwości page_size i current_page.

Czy istnieje niszczący sposób na przypisanie stronicowania.page_size i paging.current_page bezpośrednio do this.p_size i this.p_current?

  let { this.p_size = page_size, this.p_current = current_page } = paging;

  this.p_start = page_size * current_page;
  this.p_dg_current = this.p_current + 1;
0
user21 31 marzec 2020, 22:38

3 odpowiedzi

Najlepsza odpowiedź

Składnia dla destrukturyzacji to { propertyName: targetExpression = default }. Masz jednak dobry pomysł (i musisz pominąć let, ponieważ nie deklarujesz zmiennych ):

({ page_size: this.p_size, current_page: this.p_current } = paging);

this.p_start = this.p_size * this.p_current;
this.p_dg_current = this.p_current + 1;
1
Bergi 31 marzec 2020, 19:54

Możesz spróbować w ten sposób

 let { page_size: p_size, current_page: p_current } = paging;
        this.p_start = page_size * current_page;
        this.p_dg_current = this.p_current + 1;
1
Kesav 31 marzec 2020, 19:46

Spróbuj w ten sposób, zamiast paging1 użyj this

let paging = {page_size : 10, current_page : 9};
let paging1 = {p_size : 0, c_size : 0};
({ page_size : paging1.p_size, current_page : paging1.c_size } = paging)

console.log(paging1.p_size+ ' '+ paging1.c_size)
1
Gaurav Singh 31 marzec 2020, 19:56