我有一个简单的过滤器,它只是将一些字符串替换为另一个字符串(更方便用户)
看起来像:
historyApp.filter('zeroKiller', function () {
return function (text) {
if (text==="0" || text==="" || text==="0000-00-00") text = "Unknown"
return text;
};
});
此过滤器在我的index.html文件中正常工作,但是我将一些附加的HTML文件作为指令
注入这是指令的样子:
historyApp.directive('caseDetail', function() {
return {
restrict: 'EA',
templateUrl: '../templates/caseDetail.html'
};
});
这就是HTML中的方式
<tr ng-if="toggle" ng-repeat-end case-detail></tr>
最后但并非最不重要的是我的指令HTML页面:
<td></td>
<td colspan="2">
Creation date of case<br />
<strong>{{case.date_created | limitTo:dateLimit}}</strong><br />
Total loss <br />
<strong>{{case.totalloss | zeroKiller}}</strong><br />
VIN <br />
<strong>{{case.vin}}</strong><br />
Vehicle <br />
<strong>{{case.manufacturer}} {{case.model}} {{case.submodel}}</strong><br />
AudaIN used<br />
<strong>{{case.audavin_triggered | zeroKiller}}</strong><br />
Accident date <br />
<strong>{{case.accident_date | limitTo:dateLimit | zeroKiller}}</strong><br />
Vehicle registration date <br />
<strong>{{case.registration_date | limitTo:dateLimit | zeroKiller}}</strong><br />
Manufactoring year <br />
<strong>{{case.manufacturing_year | zeroKiller}}</strong>
</td>
正如您所看到的,我在这里多次使用过滤器,但它没有运行。 它基本上只显示0000-00-00或空字符串 首先我认为问题出现在if / else语句中,但是当我使用此过滤器
时,我总是尝试控制日志historyApp.filter('zeroKiller', function () {
return function (text) {
if (text==="0" || text==="" || text==="0000-00-00" || text===null || text===false) {
var previousText = text;
text ="Unknown";
console.log("went in for "+previousText);
}
return text;
};
});
它仅适用于主页面的过滤结果。我觉得它看起来像过滤器没有在指令中工作。 我真的希望这会是一个非常愚蠢的事情,但我无法想象出问题出在哪里。
有角度经验的人可以提出一些建议吗? 感谢