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