Hol*_*ley 6 angularjs angularjs-directive angular-ui-bootstrap
我有很多行使用'ng-repeat'显示.每行有2个UI-Bootstrap-Datepickers.当有很多行时,页面的加载速度非常慢.
我想只使用一个日期选择器然后在用户点击的字段下动态移动它,或者可能在点击时加载指令并在选择完成后再次卸载它.
有关如何实现这一目标的任何想法?
<li ng-repeat="ticket in data.tickets">
<div ng-click="openAddStartCal($event, ticket)" ng-hide="currentTicketUpdating == ticket.TicketId && currentParameterUpdating =='startCal' && startCalSaving == true">
<input type="text"
starting-day="2"
show-button-bar="false"
show-weeks="false"
class="form-control addTicketDateInput"
datepicker-popup="dd MMM"
ng-model="ticket.StartDate"
ng-change="saveEditStartDate(ticket)"
is-open="checkStartOpened(ticket)"
min-date=""
max-date="'2015-06-22'"
datepicker-options="dateOptions"
date-disabled="disabled(date, mode)"
ng-required="true"
close-text="Close" />
</div>
</li>
Run Code Online (Sandbox Code Playgroud)
您可以使用 ng-switch 或 ng-if。ng-switch/ng-iff 实际上会从 DOM 中删除其中的任何内容,直到条件评估为 true。
例如:
<li ng-repeat="ticket in data.tickets">
<div ng-click="openAddStartCal($event, ticket);ticket.openCal = !ticket.openCal" ng-hide="currentTicketUpdating == ticket.TicketId && currentParameterUpdating =='startCal' && startCalSaving == true">
<div ng-if="ticket.openCal">
<input type="text"
starting-day="2"
show-button-bar="false"
show-weeks="false"
class="form-control addTicketDateInput"
datepicker-popup="dd MMM"
ng-model="ticket.StartDate"
ng-change="saveEditStartDate(ticket)"
is-open="checkStartOpened(ticket)"
min-date=""
max-date="'2015-06-22'"
datepicker-options="dateOptions"
date-disabled="disabled(date, mode)"
ng-required="true"
close-text="Close" />
</div>
</div>
</li>
Run Code Online (Sandbox Code Playgroud)
请注意ticket.openCal = !ticket.openCalng-click 的添加,然后在 ng-if 中使用它。(顺便说一句,ig 你在 openAddStartCal 中有一些对此有用的东西,你可以使用它。)
或者,您也可以使用诸如空 ng-include 之类的东西(直到行单击):
<li ng-repeat="ticket in data.tickets">
<div ng-click="openAddStartCal($event, ticket);ticket.openCal = !ticket.openCal" ng-hide="currentTicketUpdating == ticket.TicketId && currentParameterUpdating =='startCal' && startCalSaving == true">
<div ng-include=""></div>
</li>
Run Code Online (Sandbox Code Playgroud)
然后当有点击事件时设置 ng-include 变量。
| 归档时间: |
|
| 查看次数: |
2160 次 |
| 最近记录: |