簡體   English   中英

將參數傳遞給命名導出對象文字內部的函數

[英]Passing a parameter to a function inside a named export object literal

使用命名導出返回由函數組成的對象文字時,是否可以將參數傳遞給這些函數之一?

例如,假設下面的函數根據用戶是否為管理員返回條件結果:

// gridConfig.js
function getColumnDefs(isAdmin = false) {
  // conditionally return columns
  return {
    orders: [ ... ], 
    ...
  }
}

export const config = {
  columnDefs: getColumnDefs(),
  rowDefs: getRowDefs(),
  ...
};

// main.js
import { config } from './gridConfig';

function doStuff() {
  const { columnDefs, rowDefs } = config;
  grid.columnDefs = columnDefs['orders'];
  ...
}

如果將參數添加到導出內部的函數調用中,則表示未定義參數。 向導出別名添加參數會產生語法錯誤。 即使允許這樣做,也不清楚在main.js中將參數傳遞到哪里。

以這種方式構造導出時,是否可以通過某種方式傳遞參數?

export const config = admin => ({
  columnDefs: getColumnDefs(admin),
  rowDefs: getRowDefs(),
});

// main.js
import { config } from './gridConfig';

function doStuff() {
  const { columnDefs, rowDefs } = config(admin);//get the admin variable set before this line
  grid.columnDefs = columnDefs['orders'];
  ...
}

也許保持簡單可能是有用的:)

 export const config = (isAdmin) => ({ columnDefs: getColumnDefs(isAdmin), rowDefs: getRowDefs(), ... }); // Import import { config } from '[...]'; // Placeholder path of import const myConfigFalse = config(false); const myConfigTrue = config(true); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM