把手是一個JS庫,所以它爲什麼需要之前數組索引值的點陣如 data.array.[0]
代替 data.array[0]
爲什麼句柄使用點支架符號來按索引訪問數組?
0
A
回答
2
的方括號「segment-literal notation」:
要引用一個屬性,它是不是有效的標識符,您可以使用段的文字符號:
{{#each articles.[10].[#comments]}} <h1>{{subject}}</h1> <div> {{body}} </div> {{/each}}
正如你所看到的,您可以使用方括號來「引用」標識符,該標識符可能會成爲表達式路徑中裸露標識符的問題,如#comments
。這類有問題的標識符還包括當它們到達路徑末尾時是整數(如數組索引)的標識符;看到this answer on How do I access an access array item by index in handlebars?
至於爲什麼他們根本沒有廢除點用方括號的語法有問題的標識符(例如,foo[#comments]
),我不能肯定地說,但它似乎很好地爲完全一致的時可讀性以確保路徑段總是以句點分隔。
+0
這正是我正在尋找的答案。非常感謝你的寫作和解釋。 – bigsandwich
0
Handlebars.js
是Mustache
庫的增強版本。我猜想它使用類似的文法解析爲Mustache
,所以這個點符號必須以某種方式來自那裏。
相關問題
- 1. C什麼%符號來訪問數組?
- 2. 爲什麼使用點*和*括號訪問來分配屬性?
- 3. 使用點符號或索引訪問DynamicModel.Query
- 4. 什麼是節點句柄?
- 5. 爲什麼我不能直接訪問帶索引的數組?
- 6. 方括號數組訪問和句柄模板
- 7. 按索引訪問數組EDI指向
- 8. 爲什麼點運算符不能訪問數組元素?
- 9. 使用關聯索引和編號索引訪問數組元素
- 10. 從手柄中幫助器的輸出訪問數組索引
- 11. 按照編號/索引訪問pictureBox
- 12. 爲什麼LinkedHashMap不提供按索引訪問?
- 13. 訪問數組索引
- 14. jquery訪問數組索引
- 15. 從索引訪問數組
- 16. 在Unity中按字符串名稱訪問數組索引
- 17. 我可以使用什麼函數來獲取按鈕的句柄?
- 18. 爲什麼空數組引用的數組訪問表達式不引發NullPointerException?
- 19. 訪問索引中插入符號
- 20. 爲什麼要在元組上訪問額外的索引?
- 21. 爲什麼我不能使用u8作爲Rust數組中的索引號?
- 22. Haskell:使用列表來訪問索引
- 23. 爲什麼我不能使用點符號訪問JSON字典元素?
- 24. Python按值訪問元組索引
- 25. 爲什麼數組按數據類型索引?
- 26. 按數組/列索引訪問數組元素
- 27. 爲什麼JS數組接受逗號分隔的索引?
- 28. MATLAB GUI訪問句柄
- 29. 什麼是數組索引?
- 30. 使用點符號訪問數組或類似數組的對象的元素
它必須是JS的預處理器,因爲這不是有效的JS語法。 – Barmar
我可能錯誤地稱它爲庫而不是預處理器,但我仍然不明白使用這種「點支架」符號的設計選擇 – bigsandwich