我需要在開始時將參數傳遞給Aurelia。根據傳遞的值,應用程序將具有不同的狀態。該應用程序注入到使用PHP構建的頁面中,因此最好的方法是使用PHP代碼指定的參數啓動它。有沒有辦法做到這一點?Aurelia以params開頭通過PHP
2
A
回答
6
您可以在普通JS中訪問的任何數據,您可以通過Aurelia訪問。也許你可以使用data-*
屬性來做到這一點?當您使用main
文件時,通過執行aurelia-app="main", the framework instance you get passed to your configure method has a
主機property that is the element the framework is being attached to. You could place
data- * attributes on this element and then access them via the
該元素的數據集屬性(IE11 + https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dataset)。
你index.html
或同等學歷可能是這樣的:
<body aurelia-app="main"
data-param1="value1"
data-param2="value2">
你main.js
然後可以訪問這些值很容易:
export function configure(aurelia) {
aurelia.use
.standardConfiguration()
.developmentLogging();
aurelia.container.registerInstance('serverData',
Object.assign({}, aurelia.host.dataset))
aurelia.start().then(() => aurelia.setRoot());
}
這裏是一個可運行的例子:https://gist.run/?id=55eae2944b00b11357868262e095d28c
你可以如果圍繞屬性值使用單引號,則甚至可以將JSON放入數據屬性:https://gist.run/?id=57417139aa8c0c66b241c047efddf3dd
編輯:我改進了這個答案基於類似的答案傑里米Danyow發佈。兩個鏈接的要點也都進行了更新。
相關問題
- 1. PHP preg_match_all字符串開頭@通過任何字符以下
- 2. 通過頭在PHP
- 3. 在後臺通過GET執行PHP PARAMS
- 4. 如何通過以g PARAMS:鏈接
- 5. 如何通過PARAMS
- 6. 通過使用Selenium以字母開頭來過濾DOM元素
- 7. PHP SoapClient的通話PARAMS
- 8. 通過redirect_to RAILS保持params
- 9. 給PARAMS通過使用document.createElement
- 10. 通過axios傳遞params後通話
- 11. 圖靈機可以通過磁帶的開頭嗎?
- 12. 通過命令提示符讀取參數(以「 - 」開頭)
- 13. 是否可以通過編程打開iSight攝像頭?
- 14. 通過以特定字符串開頭的密鑰切片FormCollection
- 15. VirtualBox的無頭:不通過systemd開始
- 16. PHP刪除cookie,以wp_postpass_開頭
- 17. jquery.ajax()+ PHP返回值以空格開頭
- 18. 以React開頭
- 19. 以sshj開頭
- 20. 以...開頭的過濾行; ussing批次
- 21. 可以通過PHP庫更改accept頭文件嗎?
- 22. 「從」在PHP郵件$頭不通過
- 23. 通過頭文件發送數據PHP
- 24. 通過php頭函數的POST值
- 25. 頭文件已通過php發送ERROR:|
- 26. 通過php頭隱藏url下載
- 27. php preg_match_all開頭爲?
- 28. 通過頭
- 29. PHP - 以頭名
- 30. Aurelia - 直通路線
類似的問題/方法:http://stackoverflow.com/a/36603297/725866 –
嘿,我不知道!我通常在入口視圖(index.html或其他)中創建一個全局的地方,然後在Aurelia啓動時使用它。謝謝! –