【问题标题】:Data binding with XML views or Controller, Which is recommended in MVC与 XML 视图或控制器的数据绑定,在 MVC 中推荐使用
【发布时间】:2018-05-23 18:22:32
【问题描述】:

问题与MVC架构和数据绑定的基本定义有关,UI5遵循MVC,其中视图是我们要显示的内容,而控制器是与视图和模型进行绑定的地方。 在 UI5 中,如果您看到任何标准(旧)应用程序,我们可以看到仅在控制器级别完成的数据绑定 - 具有 JS 视图/XML 视图的应用程序 我们在控制器和绑定数据中创建 UI 控件或引用现有的 UI 控件和绑定数据 例如:

// create your controls        
var oTextView = new sap.ui.commons.TextView("textView", {
    // bind text property of textview to firstName property in the model
    text: "{/firstName}",
    tooltip: "First Name"
});
var oTxt = new sap.ui.commons.TextField("txtField", {
    // bind text property of textfield to firstName property in the model
    value: "{/firstName}"
});

var oTXt= this.getView().getElementbyId("text UI id here");
oTxt.bindProperty("enabled", "/enabled");

但是,如果您通过 webIDE 或所有新应用程序开发任何基于模板的应用程序,我们只能看到在 XML 视图级别完成的数据绑定。 喜欢

 <Input value="{/firstName}" valueLiveUpdate="true" width="200px" enabled="{/enabled}" />
      <Label text="Last Name" class="sapUiSmallMargin" />
      <Input value="{/lastName}" valueLiveUpdate="true" width="200px" enabled="{/enabled}" />
      <CheckBox selected="{/enabled}" text="Enabled" />

那么在数据绑定中遵循的最佳方法是什么,以及它如何在这两种情况下支持 MVC 的定义

谢谢,

马赫什

【问题讨论】:

    标签: model-view-controller data-binding sapui5


    【解决方案1】:

    通过控制器进行数据绑定是进行数据绑定的“旧”方式。使用 XML 视图可以更轻松、更快速地进行数据绑定,因为该框架为您做了很多事情。

    您的控制器编码将变得更具可读性,因为您不必将所有数据绑定到您的控件。

    我建议您通过视图使用数据绑定,只要它符合您的需要。在某些情况下,需要通过控制器进行数据绑定。然而,这两种方式都是正确的。一些非常严格的 MVC 定义对此会有一点问题,但在我看来,这种技术的好处比严格的 MVC 定义更重要。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-16
      • 2018-05-17
      • 2011-09-16
      • 2012-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多