只是想了解SAPUI5作为框架的位置.
(1)它是否像jQuery(包含实用函数,效果,动画等主机的库)或(2)它是否像Backbone,Angular,Ember等MVC库?
除了它是SAP的专有框架之外,我真正想知道的是这个框架背后的原则和理念,以及它如何经得起前端时间的考验 -
最后可以(如果有!)我用其他框架创建SAPUI5的生态系统.
我们有使用sapui5 -framework建立水疗中心的网页.浏览器和服务器之间的通信使用https.登录页面的交互如下:
https://myserver.com在浏览器中输入来打开网站username,并password和按login-button GETURL 发送:https://myusername:myPassword@myserver.com/foo/bar/metadata 根据我的理解,使用GET发送敏感数据绝不是一个好主意.但这个对HTTPS的回答是url字符串安全说明如下
HTTPS Establishes an underlying SSL conenction before any HTTP data is
transferred. This ensures that all URL data (with the exception of
hostname, which is used to establish the connection) is carried solely
within this encrypted connection and is protected from
man-in-the-middle attacks in the same way that any HTTPS data is.
Run Code Online (Sandbox Code Playgroud)
在同一个帖子中的另一个答案: …
我几天来一直在思考上下文,上下文绑定和bindingcontext之间的内部和关系,我不确定我是否存在重大误解.也许你们中的一些人可以帮助我解决这个问题.我将我的假设放在下面.我可能想首先说我总是在这里使用oData模型.
这是我相信阅读文档的理解:
甲上下文是在一个模型中的数据对象的引用.
阿结合基本上是一个事件提供器,其(在单向结合时)观察到特定的上下文的状态,并且当它被改变/数据加载发射事件...并因此允许在该特定上下文注册的事件处理程序的事件.在编程对象方面,有属性绑定和列表绑定(这是真的 - 还是列表绑定所有相关的?).
无论如何,我的理解是列表绑定是组件聚合绑定的模型端,而属性绑定从组件和模型的角度被称为属性绑定(令人困惑?).
现在我不太了解的是:上下文绑定new sap.ui.model.ContextBinding(oModel, sPath, oContext, mParameters?, oEvents?):将路径和上下文作为参数.我假设这个oContext不完全是上面描述的上下文,但是关于绑定的一些元数据.它是否正确?或者这是路径参数相对于的p ath的定义?
当你想要创建一个上下文本身new sap.ui.model.Contextabov(oModel, sPath, oContext)再次获取一个上下文时,看起来也很奇怪.我相信这只是我看到的一个不幸的命名事项,但我不太确定.
然后是contextbinding和bindingcontext.我假设contextBinding是对特定上下文的绑定,如e所述.而bindingcontext是关于上下文或列表绑定的元数据.
从编程的角度来看,我不明白为什么以下工作:
model.bindList()仅传递路径来创建列表绑定到上下文.get_contexts()绑定似乎没有办法对属性绑定做同样的事情,我认为我可以通过它生成model.bindProperty().我可以生成绑定,但我收到的绑定似乎没有实际获取数据的句柄.
我希望漫步解释我的问题.如果你问:你想做什么?我实际上不想对它做任何事情,我只是不太明白这是如何工作的.绑定到ui控件等工作得很好,但我更愿意真正了解引擎盖下的内容.我一直在阅读调试文件和单元测试,但与你们讨论它似乎也是一个很好的方法.
如果不清楚,我会很乐意添加任何有用的东西.
干杯米歇尔
我是javascript和android的新手,我想用SAPUI5编写一个多页应用程序.为此,我发现了一个教程: https://sapui5.hana.ondemand.com/sdk/#docs/guide/df86bfbeab0645e5b764ffa488ed57dc.html 工作正常,达到漫步-第8步:我有完全的相同的源代码我项目,但它不起作用.我收到以下错误:
E/Zygote: MountEmulatedStorage()
E/Zygote: v2
E/SELinux: [DEBUG] get_category: variable seinfo: default sensitivity: NULL, cateogry: NULL
E/SysUtils: ApplicationContext is null in ApplicationStatus
E/libEGL: validate_display:255 error 3008 (EGL_BAD_DISPLAY)
E/AndroidProtocolHandler: Unable to open asset URL: file:///android_asset/i18n/i18n_de_DE.properties
Run Code Online (Sandbox Code Playgroud)
我知道第一个和第二个,但我找不到其他信息.
有谁知道他们来自哪里以及如何解决?
的answere:
我不知道实际上是什么问题.我尝试使用SDK版本并获得许多gradle错误.在我解决之后,我使用了步骤7中的代码,仅添加了黄色线条并删除了要删除的内容.
我遇到麻烦,我的表列和行的动态绑定工作.
假设我有两个模型,一个持有表列信息:
var aColumnData = [
{
columnId : "col1"
},
{
columnId : "col2"
},
{
columnId : "col3"
},
{
columnId : "col4"
},
{
columnId : "col5"
}
];
Run Code Online (Sandbox Code Playgroud)
和一个数据:
var aData = [
{
col1 : "Row 1 col 1",
col2 : "Row 1 col 2",
col3 : "Row 1 col 3",
col4 : "Row 1 col 4",
col5 : "Row 1 col 5"
},
{
col1 : "Row 2 col 1",
col2 : "Row 2 …Run Code Online (Sandbox Code Playgroud) 可能这是一个基本问题,但我在XML视图中绑定Odata计数时遇到问题.
比方说,在下面的例子中,我想绑定Odata模型中的产品数量.
<List items="{/Categories}"} >
<ObjectListItem
title="{CategoryName}"
number="{path : 'Products/$count'}"
numberUnit="Products"/>
</List>
Run Code Online (Sandbox Code Playgroud)
每个类别都需要显示相应类别中的产品数量.....如
/Categories(1)/Products/$count
/Categories(2)/Products/$count
Run Code Online (Sandbox Code Playgroud)
感谢您的帮助.
我正在使用SAPUI5应用程序.我有一个XML视图,其中包含一个XML 片段和一个要保存的按钮.
该片段包含一些控件,如下拉列表,文本字段和表格.当我按下保存按钮时,我需要获取表中的所有行并调用OData更新服务.
问题出onSave在视图控制器中的方法中.使用其ID访问表时出错.任何人都可以帮助我并建议如何通过控制器中的ID访问片段中使用的控件?
这是代码片段:
----查看
<mvc:View xmlns:mvc="sap.ui.core.mvc" xmlns:core="sap.ui.core" xmlns:form="sap.ui.layout.form" xmlns="sap.m">
<Page>
...
<form:SimpleForm>
<core:Fragment id ="fr1" fragmentName="first" type="XML"/>
<Button id="id1" press="onSave"/>
</form:SimpleForm>
</Page>
</mvc:View>
Run Code Online (Sandbox Code Playgroud)
----片段定义
<core:FragmentDefinition xmlns="sap.m" xmlns:core="sap.ui.core">
<Table id="tab1" mode="MultiSelect">
...
</Table>
</core:FragmentDefinition>
Run Code Online (Sandbox Code Playgroud)
----控制器
sap.ui.controller("view", {
onSave: function() {
//var tab = this.getView().byId("tab1"); // Not working
var tab = sap.ui.getCore().byId("tab1"); // Not working
},
// ...
});
Run Code Online (Sandbox Code Playgroud) 我每次查看页面时都会搜索模式以执行代码(在我的情况下,检索数据以便从服务器可视化)(每个tipe页面都由splitApp.toDetail或splitApp.backDetail调用).我该怎么做??onBeforeRendering和onAfterRendering仅在第一次执行..
我创建了一个UI5主 - 详细信息页面:
<List items="{som>/Users}">
<StandardListItem
type="Navigation"
press="onItemPress"
title="{som>UserName}"
/>
</List>
Run Code Online (Sandbox Code Playgroud)
onItemPress: function(oEvent) {
var oUserContext = oEvent.getSource().getBindingContext("som");
var oUser = oUserContext.getObject();
this.getRouter().navTo("userDetails", {userId: oUser.Id});
}
Run Code Online (Sandbox Code Playgroud)
onInit: function () {
var route = this.getRouter().getRoute("userDetails");
route.attachPatternMatched(this._onObjectMatched, this);
},
_onObjectMatched: function (oEvent) {
var sUserId = oEvent.getParameter("arguments").userId;
this.getView().bindElement({
path: "som>/Users('"+sUserId+"')",
model: "som"
});
},
reload: function() {
this.getView().getModel("som").refresh();
},
Run Code Online (Sandbox Code Playgroud)
<fLayout:SimpleForm id="userForm">
<Button text="reload" press="reload"/>
<Label text="{i18n>settings.user.id}"/>
<Input editable="false" value="{som>Id}"/>
<Label text="{i18n>settings.user.username}"/>
<Input value="{som>UserName}"/>
<Label text="{i18n>settings.user.email}"/>
<Input value="{som>Email}"/>
<Label text="{i18n>settings.user.firstname}"/>
<Input …Run Code Online (Sandbox Code Playgroud) 我正在使用具有以下功能的拆分应用
主列表显示项目列表(例如,此处的自行车和汽车列表)
这是3个详细信息页面:
现在,问题是当我单击“汽车产品”时,显示了一个动画,该动画从欢迎页面导航到汽车页面。
但是,如果我再次单击汽车产品,则绑定将更新而没有动画。
同样,如果我此时(选择汽车之后)选择了“ Bike”,则导航会随动画一起进行。
所以,总结一下,
但是,我想要的是,无论当前显示的是哪个详细信息页面,导航都应该使用动画再次进行,以便保持与动画的一致性。
另外,请注意,我不能使用基于哈希的路由,因为此拆分应用程序需要在对话框中显示。
下面是虚拟代码:
<mvc:View controllerName="com.sap.SplitApp.controller.App" xmlns:mvc="sap.ui.core.mvc" xmlns:core="sap.ui.core" displayBlock="true"
xmlns="sap.m">
<Shell id="shell">
<App>
<SplitApp id="app">
<masterPages>
<Page>
<List items='{/items}' selectionChange="handleNavigate" mode='SingleSelectMaster'>
<items>
<StandardListItem title='{name}' info='{type}'/>
</items>
</List>
</Page>
</masterPages>
<detailPages>
<MessagePage title='Hello!' text='Select a Product'></MessagePage>
<core:Fragment fragmentName="com.sap.SplitApp.fragments.BikeProperties" type="XML"/>
<core:Fragment fragmentName="com.sap.SplitApp.fragments.CarProperties" type="XML"/>
</detailPages>
</SplitApp>
</App>
</Shell>
Run Code Online (Sandbox Code Playgroud)
onInit: function () {
var items = [
{
name: 'Thunderbird 500cc',
type:'Bike'
},
{
name: 'Swift',
type:'Car' …Run Code Online (Sandbox Code Playgroud) sapui5 ×10
javascript ×3
android ×1
angularjs ×1
backbone.js ×1
https ×1
navigation ×1
odata ×1
sap ×1
security ×1
ssl ×1