2016-08-01 3 views
0
<core:mvc.XMLView id="{path:' AssignmentModel>/AssignmentType' ,formatter:'.getViewName'}" 
      viewName="{path:' AssignmentModel>/AssignmentType' ,formatter:'.getViewName'}" 
      height="100%" visible="true"/> 

assignemnt 유형에 따라 뷰를로드하고 싶습니다. 유형에 따라 컨트롤러에서 뷰를 동적으로로드하려고했습니다. 하지만 예상대로 작동하지 않습니다.ID와 뷰 이름을 동적으로 설정할 수 있습니까?

+0

왜 라우팅 메커니즘을 사용하고, 과제 유형에 따라보기로 이동? – Qualiture

답변

0

XMLView에서보기를 사용하면 한 번 생성됩니다. 바인딩이 작동하더라도 OneTime이됩니다. 이는 단 한 번만 해결된다는 것을 의미합니다. 이는 분명히 찾고있는 것이 아닙니다.

이미 언급 한 품질로 Routing을 사용하거나 컨트롤러에서 콘텐츠를 동적으로로드하고 수동으로보기 계층에 삽입해야합니다. 당신은 여전히 ​​다음과 같은 속성 변화를 관찰하기 위해 PropertyBinding을 사용할 수

var binding = new sap.ui.model.PropertyBinding("AssignmentModel", "/AssignmentType"); 
binding.attachChange(function() { 
    var sViewName = this.getViewName(this.getModel("AssignmentModel").getProperty("/AssignmentType"); 
    var oView = sap.ui.xmlview({ 
    id: sViewName 
    viewName: sViewName 
    }); 
    // pack your view whereever you want, clean the old view before 
    this.getView().addContent(oView); 
}, this) 

당신은 당신이 사용하는 모델에 따라 sap.ui.model.odata.ODataPropertyBinding을 사용해야 할 수도 있습니다.

위의 코드는 테스트되지 않았지만 '작동해야'합니다.

GL 크리스

관련 문제