使用带有角度的footable插件时遇到问题 问题是footable将新的表行添加到我的表中,但它粘贴原始html文本而不是角度替换值,我的意思是{{' COMMENT' | translate}}而不是' Comment&#39 ; (参见'附表图像')
我添加了click事件,以执行重新评估的特殊操作,但我不确定如何重新绑定元素HTML。
表格html
<th data-hide="phone,tablet" >{{'QUANTITY'| translate}}</th>
...
<tr ng-repeat="item in items | filter:itemsFilter" on-last-repeat ng-click="rowExpanded($event)" >
<td>{{item.Stock}}</td>
...
</tr>
如果您需要更多信息,请现在就让我。我很困惑,尝试使用谷歌搜索,但我不知道我的问题的术语。
编辑:在我看来,footable会在init上缓存表头,然后重用那些不是由angular编译的值,这可能有助于找到答案。问题是,角度不知道细节行存在,并且其中的绑定不会被值替换
答案 0 :(得分:0)
我想,我需要重新编译附加到footable的下一个元素,我在表行上添加了ng-click:
<tr ng-repeat="item in items | filter:itemsFilter" on-last-repeat ng-click="rowExpanded($event)" >
然后在控制器中,我发现currentTarget.nextElementSibling将返回下一个表行,这恰好是未编译的新详细信息行,因此$ compile可以解决问题。但是,当行已经展开并且窗口调整大小时,这不起作用,详细信息行中添加的列将采用{{variablename}}语法。但我想我可以忍受这种不利因素
$scope.rowExpanded = function($event){
$timeout(function(){
console.log($event.currentTarget.nextElementSibling);
$compile($event.currentTarget.nextElementSibling)($scope);
});
};
编辑:好的,当我使用&lt; progressbar&gt;时,这没有用。模板。因为在footable读取数据时它只是一堆div,当我要求angular编译它们时,它无法编译,因为一堆div不是&gt;&gt; progressbar&lt;
但是,我找到了另一种解决方案,在角度方面完成所有操作后,我延迟了足迹初始化:
TL; DR; 我删除了课程&#39; footable&#39;从表中,所以它不会自动初始化,只有在将所有ng-repeat行添加(并编译)到表后才会在表元素上调用.footable()。这解决了我目前所有的足部/角度关系问题。
答案 1 :(得分:-1)
尝试将您的翻译语句间隔开来,而不是
{{'COMMENT'|translate}}
尝试
{{ 'COMMENT' | translate }}