2017-01-26 28 views
0

該標題有點亂碼,這可能是重複的,但我一直在挖一段時間。這一定很簡單。在這個問題上接受的答案並沒有爲我工作:How to declare and use the name of a function from a json object?將函數的名稱存儲在JSON文件中,稍後可以從腳本中加載並調用它?

任務:我試圖爲Vis.js時間表的設置數據外部化到一個JSON文件。數據集沒有問題,除了函數引用「orderByID」和「visTemplate」外,其他所有選項都沒有問題。這些是我定義的函數,它們存在於我正在使用JSON數據的腳本中。

當我嘗試使用JSON而未嘗試轉換它時,Vis.js抱怨。當我使用下面的代碼嘗試上面問題的答案時,我得到了圖像中顯示的錯誤。

這是Electron,腳本通過index.html中的腳本標記加載。

我在等待這個花了這麼多時間描述的簡單問題的單線答案。



enter image description here


"timelineOptions": { 
    "order": "orderByID", 
    "selectable": true, 
    "zoomable": false, 
    "width": "100%", 
    "height": "90%", 
    "minHeight": 700, 
    "format": { 
     "minorLabels": { 
      "hour": "HH\\h" 
     } 
    }, 
    "margin": { 
     "axis": 20, 
     "item": 20 
    }, 
    "start": "2016-12-30", 
    "end": "2017-01-4", 
    "template": "visTemplate", 
    "showCurrentTime": false, 
    "dataAttributes": "all", 
    "timeAxis": { "scale": "day", "step": 1 }, 
    "orientation": { 
     "axis": "top", 
     "item": "top" 
    } 
} 

回答

3

不知道,如果你已經設置窗口對象的正確的參考,但不應該代碼閱讀:

timelineOptions.order = window[timelineOptions.order]; 

您引用了字符串值orderByID而不是用於設置對象的屬性名稱。

+0

Arrgh !!你有好眼睛和/或我需要站起來走走!感謝您的協助!我實際上查看了window對象的屬性,但沒有看到我列出的函數 - 也許我也錯過了。 –

相關問題