我使用ng-重复打印输出的div。bCrumbs集合中的元素从斜杠和空格开始,我想从第一次循环迭代中删除它们。
我的守则:
<div ng-repeat="bCrumb in bCrumbs" id="{{bCrumb.name}}">{{ bCrumb.name }}</div>来自{{ bCrumb.name }}的输出
/ Test1
/ Test2预期产出:
Test1
/Test2发布于 2015-02-09 12:16:40
您可以使用ng-repeat-start和ng-repeat-end
<div ng-repeat-start="bCrumb in bCrumbs" ng-if="$first>
{{ beautify(bCrumb.name) }}
</div>
<div ng-repeat-end ng-if="!$first">
{{ bCrumb.name }}
</div>此外,在控制器中定义一个名为beautify的函数:
$scope.beautify = function (name) {
return name.replace('/ ', '');
};您可以阅读详细的文档这里
更新
处理字符串美化的一个更好的方法是创建一个过滤器来处理它。
app.filter('beautify', function () {
return function (data) {
return data.replace("/ ", "");
};
});然后在视图模板中:
<div ng-repeat-start="bCrumb in bCrumbs" ng-if="$first>
{{ bCrumb.name | beautify }}
</div>
<div ng-repeat-end ng-if="!$first">
{{ bCrumb.name }}
</div>发布于 2015-02-09 12:46:40
我认为你应该改变你的控制器(或者任何正在产生bCrumbs的东西),在到达视图之前去掉斜线。这样,它将更易于测试,并且(希望)更清晰。你可以这样做:
function strip(s) {
if(s.indexOf('/ ') === 0) {
return s.substring(2);
} else {
return s;
}
}
$scope.bCrumbs = originalBCrumbs.map(function(bc, idx) {
return idx === 0 ? strip(bc) : bc;
});https://stackoverflow.com/questions/28409338
复制相似问题