Model view controller 使用XML视图或控制器进行数据绑定,这在MVC中是推荐的

Model view controller 使用XML视图或控制器进行数据绑定,这在MVC中是推荐的,model-view-controller,data-binding,sapui5,Model View Controller,Data Binding,Sapui5,问题与MVC架构和数据绑定的基本定义有关,UI5遵循MVC,其中视图是我们想要显示的,控制器是视图和模型绑定的位置。 在UI5中,如果您看到任何标准(旧)应用程序,我们可以看到数据绑定仅在控制器级别完成-具有JS视图/XML视图的应用程序 我们在controller和binddata中创建UI控件,或者引用现有UI控件和bind数据 例如: 或 但是,如果您通过webIDE开发任何基于模板的应用程序或所有新的应用程序,我们可以看到数据绑定只在XML视图级别完成。 像 那么,在数据绑定中遵循的

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

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


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

谢谢


Mahesh

通过控制器进行数据绑定是执行数据绑定的“老”方法。有了XML视图,进行数据绑定变得更容易、更快,因为框架为您做了很多事情

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

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

// 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");
 <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" />