我在包含repeat.for
绑定的视图中遇到问题。当chrome更新到最新版本时,我的应用程序开始挂起。
有关如何找到问题的任何建议?
这是一个代码示例(很难将其全部放在这里):
<section class="split split2 splitTo2 flexCol">
<div class="titleBar">
<div class="breadCrumbs floatLeft">
<h3 class="cursorDefault">Configuration</h3> <span class="cursorDefault">/</span>
</div>
<div class="clear"></div>
</div>
<div class="pageBody">
<dynamic-table list.bind="list | filter:selectedTableType:filterByTypeFunc" text-filter.bind="tableTextFilter.value" containerless>
</dynamic-table>
</div>
</section>
<dynamic-table>
自定义元素有一个带有重复绑定的表,如下所示:
<table class="grid table table-striped table-bordered" if.bind="list.length>0 && canDraw" show.bind="canDraw">
<thead>
<tr>
<th repeat.for="col of cols">
<a click.trigger="gridSort(col.colName)"> ${col.label} <img if.bind="col.headerImg" src.bind="col.headerImg" style="width: 18px;height: 18px"/> <i class="sortIcon fa ${col.colName | gridSortIcon:gridSortObject & signal:'gridSortColChanged'}"></i></a>
</th>
<th if.bind="canEdit"></th>
<th if.bind="canDelete"></th>
</tr>
</thead>
<tbody ref="tableBody">
<tr repeat.for="row of list | filter:textFilter:filterFunc | sort:gridSortObject.colName:gridSortObject.desc | pagination:pageSize:currentPage">
<td repeat.for="col of cols" name="${col.colName}" innerhtml.bind="row[col.colName] | convertManager:col.converters"></td>
<td if.bind="canEdit"><span class="gridButton gridEdit fa fa-pencil" click.delegate="_editGridIRow(row)" authorize="${authorizePrifex +'_edit'}"></span></th>
<td if.bind="canDelete"><span class="gridButton gridDelete fa fa-times" click.delegate="_deleteGridIRow(row)" authorize="${authorizePrifex +'_delete'}"></span></th>
</tr>
</tbody>
</table>
cols
是包含表列名称的集合,list
有15行。我验证它执行了15次迭代,重复5次(这看起来非常奇怪)。
关于如何调试重复绑定的任何方向?
答案 0 :(得分:1)
我今天遇到了同样的错误:最新版本的Chrome导致我的应用程序冻结,而其他浏览器工作正常。
我通过更改CSS行(我的是 div的高度值)以与您相同的方式解决了问题。虽然问题在我身边,但我不确定因为css代码行而挂起webapp是预期的行为。