2017-02-21 104 views
1

當我在SAPUI5應用程序中使用PlanningCalendar控件時,出現以下錯誤。這不是我正在銷燬或重新創建的元素,而只是用於顯示數據。因此,我認爲我不需要關心自己這個錯誤。有什麼辦法可以擺脫它嗎?爲什麼它與計劃日曆一起出現?我正在使用SAPUI5 1.38.9。PlanningCalendar模板共享錯誤

在克隆操作過程中,發現一個模板既沒有標記爲 ,也沒有標記'templateShareable:true'和'templateShareable:false'。 框架不會銷燬該模板。這可能會導致錯誤(例如 重複的ID)或內存泄漏(該模板用於聚合 '約會'對象'__row0')有關詳細信息,請參閱 文檔在「聚合綁定」下。 -

<PlanningCalendar 
      startDate="{path: '/startDate'}" 
      viewKey="D" 
      rows="{path: '/rows'}"> 
      <views> 
       <PlanningCalendarView 
        key="A" 
        intervalType="Day" 
        description="days view" 
        intervalsS="1" 
        intervalsM="3" 
        intervalsL="7" 
        showSubIntervals="false"> 
       </PlanningCalendarView> 
       <PlanningCalendarView 
        key="D" 
        intervalType="Hour" 
        description="hours view" 
        intervalsS="4" 
        intervalsM="6" 
        intervalsL="8" 
        showSubIntervals="true"> 
       </PlanningCalendarView> 
      </views> 

      <rows> 
       <PlanningCalendarRow 
        text="{role}" 
        nonWorkingDays="{freeDays}" 
        nonWorkingHours= "{freeHours}" 
        appointments="{appointments}" 
        intervalHeaders="{headers}"> 
        <appointments> 
         <unified:CalendarAppointment 
          tooltip="{title} {info}" 
          startDate="{start}" 
          endDate="{end}" 
          icon="{pic}" 
          title="{title}" 
          text="{info}" 
          type="{type}"> 
         </unified:CalendarAppointment> 
        </appointments> 
        <intervalHeaders> 
         <unified:CalendarAppointment 
          startDate="{start}" 
          endDate="{end}" 
          icon="{pic}" 
          title="{title}" 
          type="{type}"> 
         </unified:CalendarAppointment> 
        </intervalHeaders> 
       </PlanningCalendarRow> 
      </rows>    
    </PlanningCalendar> 

回答

1

添加templateSharable: falsePlanningCalendarRow您的聚集綁定。

... 
appointments="{path: 'appointments', templateShareable: false}" 
intervalHeaders="{path: 'headers', templateShareable: false}" 
... 

這將允許我們讓UI5在綁定被移除時處理銷燬模板。 您可以在這裏找到關於here的文件。

+0

謝謝。這工作。我之前曾嘗試將「templateShareable:false」添加到「planninCalendar」標記的「rows」和「startDate」中。猜猜這是錯誤的地方。它似乎也需要「路徑:」才能工作。 – Waltari