2017-02-21 77 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