在創建Dojo組件我們什麼時候喜歡聲明的方式和程序化的方法?DOJO中的聲明式或編程式方法?
回答
完全取決於你的需求和喜好。如果您有設計師而不是程序員需要添加Dojo小部件,那麼他們最好使用聲明性標記。但是,如果您堅持HTML標記通過w3c驗證,則需要改爲使用編程方法。
我更喜歡的編程方法,因爲它可以讓我來包裝整個表單作爲一個JavaScript對象,並創建方法實例化和驗證其部件。評論後附錄:我通常會創建一個javascript對象與它的形式輸入和道場/的dijit部件作爲其屬性,所以我可以把它們稱爲this.startDateTextBox, this.titleInlineEditor
等予處理在javascript對象構造函數道場小部件的實例。
如果您使用多個類似的小部件,如果您聲明保存其初始化設置的對象並以編程方式加載它們,而不是以聲明方式爲每個標記聲明所有共享屬性,則可以節省打字錯誤。我喜歡編程實例化的另一個原因是,我可以改變根據不同的條件實際上比我不得不這樣做的服務器端更改的標記更容易啓動一個小窗口前的實例參數。
由於1.6版本,支持道場HTML5數據屬性,因此所得到的HTML將是有效的。儘管性能受損,但聲明式方法允許一目瞭然地查看UI的結構。
我複製他們在announcement of the HTML5 data attribute-support提供風格之間的比較:
利用新的HTML5,有效的自定義屬性,即使仍存在利弊,HTML內聲明的小部件,而不是用JavaScript。從HTML內部聲明JavaScript組件引入了語義雜質,因爲HTML不再是純語義標記,而是包含與特定視覺組件的緊密耦合。聲明式方法還會導致額外的CPU週期,因爲dojo.parse()必須遍歷DOM樹以使用Dojo自定義屬性查找元素。編程實例化避免了不必要的循環,並保留了HTML的語義純度。然而,基於標記的窗口小部件聲明仍然具有強大的優勢,允許我們在一個地方定義和創建一個窗口小部件,以最小的努力促進快速應用程序開發。
- 1. 以聲明方式或編程方式創建Sharepoint列表?
- 2. 混合搭配聲明式和程序式聲明? (Dojo/JS)
- 3. Dojo項目中的聲明性編碼或編程編碼?
- 4. 以編程方式聲明dijit.form.select的值
- 5. dojo中編程式和聲明式創建的小部件之間的區別?
- 6. Android以編程方式聲明按鈕?
- 7. CXF方法聲明形式
- 8. 聲明式與編程式GraphQL
- 9. 如何以聲明方式右對齊Dojo Datagrid中的列
- 10. 以編程方式控制在XAML標記中聲明的Storyboard
- 11. 以編程方式添加DOJO CheckedMultiSelect
- 12. Dojo RadioButton,以編程方式設置組
- 13. 聲明式編程和命令式編程有什麼區別?
- 14. 聲明式編程和命令式編程
- 15. 或聲明的方法
- 16. 隱式聲明的Dispose繼承方法
- 17. 以編程方式或聲明方式要求在IIS中的單個asp.net頁面的客戶端證書
- 18. 以編程方式在Jersey中聲明路徑參數
- 19. 以編程方式將聲明添加到列表中
- 20. Dojo Datagrid - 以編程方式選擇行的樣式
- 21. 類方法的函數聲明或表達式?
- 22. 以編程方式聲明變量時「必須聲明標量變量」錯誤
- 23. 以編程方式獲取泛型聲明的值?
- 24. 如何以編程方式聲明並顯示我的UITableView?
- 25. 聲明式綁定方法名稱?
- 26. 要聲明或不聲明DAO接口方法中的DataAccessException?
- 27. Dojo無法以編程方式連接djits?
- 28. 命令式和聲明式編程語言之間的區別?
- 29. 在DOJO中聲明變量
- 30. 如何以編程方式聲明此GridView(Java代碼)?
這是什麼意思?「我更喜歡編程方法,因爲它允許我將整個表單封裝爲一個JavaScript對象並創建方法來實例化和驗證其窗口小部件。」 – hamn
參見上面的說明。 –