예를 들어 내 질문을 설명하는 것이 가장 좋습니다.보기 :
<navContainer>
<page id="first">
<label text="{name}"/>
</page>
<page id="second">
<label text="{car}"/>
</page>
</navContainer>
모델은 OData 서비스입니다. '첫 번째'페이지에는 '/ EmployeeSet (0)'엔티티를 사용하고 '두 번째'페이지에는 '/ CarSet (0)'엔티티를 사용하고 싶습니다.
지금 까지이 기술을 생각해 냈지만 저에게 효과가 없습니다.
this.byId("first").bindElement("/EmployeeSet(0)");
this.byId("second").bindElement("/CarSet(0)");
각 페이지의 바인딩을 설정하는 올바른 방법은 무엇입니까? 단일 모델에서도 여전히 작동 할 수 있으므로 'text = "{secondModel> car}"'와 같은 뷰에서 명명 된 모델을 참조 할 필요가 없습니까?
업데이트 : WebIDE의 자동 완성 목록에 "바인딩"이 표시되지 않지만 그게 필요한 것입니다. 효과가있다.
코드가 좋아 보이지만 다른 곳에 문제가있는 것 같습니다. 서버가 데이터를 반환하는지 확인 했습니까? 위에 나열된보기에서 무엇을 기대합니까?
어쨌든, 여기 제가 방금 스케치 한 jsbin 예제 가 있습니다 (아래 참조). binsElement ()는 실제로 뷰에서 동일한 binding = ""입니다.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>SAPUI5 single file template | nabisoft</title>
<script src="https://openui5.hana.ondemand.com/resources/sap-ui-core.js"
id="sap-ui-bootstrap"
data-sap-ui-theme="sap_bluecrystal"
data-sap-ui-libs="sap.m"
data-sap-ui-bindingSyntax="complex"
data-sap-ui-compatVersion="edge"
data-sap-ui-preload="async"></script>
<!-- use "sync" or change the code below if you have issues -->
<!-- XMLView -->
<script id="myXmlView" type="ui5/xmlview">
<mvc:View
controllerName="MyController"
xmlns="sap.m"
xmlns:core="sap.ui.core"
xmlns:mvc="sap.ui.core.mvc">
<Panel id="panel1" binding="{/Customers('ALFKI')}">
<Text text="{CompanyName}"/>
</Panel>
<Panel id="panel2" binding="{/Customers('ANATR')}">
<Text text="{CompanyName}"/>
</Panel>
</mvc:View>
</script>
<script>
sap.ui.getCore().attachInit(function () {
"use strict";
//### Controller ###
sap.ui.define([
"sap/ui/core/mvc/Controller",
"sap/ui/model/odata/v2/ODataModel"
], function (Controller, ODataModel) {
"use strict";
return Controller.extend("MyController", {
onInit : function () {
this.getView().setModel(
new ODataModel("https://cors-anywhere.herokuapp.com/services.odata.org/V2/Northwind/Northwind.svc/", {
json : true,
useBatch : false
})
);
}
});
});
//### THE APP: place the XMLView somewhere into DOM ###
sap.ui.xmlview({
viewContent : jQuery("#myXmlView").html()
}).placeAt("content");
});
</script>
</head>
<body class="sapUiBody">
<div id="content"></div>
</body>
</html>
다음은 NavContainer & Pages를 사용하는 또 다른 jsbin 예제입니다 (탐색 된 앱의 NavContainer 예제를 기반으로 함). 이 jsbin 예제는 동일하지만 bindElement ()를 사용 합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다