abd*_*hab 5 javascript angularjs angular-filters
我有一个以下数组:
"cast": [
{
"name": "James Stewart"
},
{
"name": "Kim Novak"
},
{
"name": "Barbara Bel Geddes"
},
{
"name": "Tom Helmore"
}
]
Run Code Online (Sandbox Code Playgroud)
AngularJS中将它格式化为什么是:
James Stewart, Kim Novak, Barbara Bel Geddes, Tom Helmore
Run Code Online (Sandbox Code Playgroud)
有没有办法使用filter或者formatter我可以在模板中巧妙地做到这样:
<font class="authors-string">{{ object.cast | filter/formatter/? }}</font>
Run Code Online (Sandbox Code Playgroud)
我认为在控制器中编写这种简单解析的逻辑会使控制器主体混乱.
谢谢你的关注.
Ori*_*ori 13
这是一个过滤器,从每个数组元素中提取某个prop,然后使用分隔符(demo)连接它们:
app.filter('join', function () {
return function join(array, separator, prop) {
if (!Array.isArray(array)) {
return array; // if not array return original - can also throw error
}
return (!angular.isUndefined(prop) ? array.map(function (item) {
return item[prop];
}) : array).join(separator);
};
});
Run Code Online (Sandbox Code Playgroud)
用法:
<p class="authors-string">{{ cast | join:', ':'name' }}</p>
Run Code Online (Sandbox Code Playgroud)
如果是平面数组,则删除第3个参数:
<p class="authors-string">{{ animals | join:', ' }}</p>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3882 次 |
| 最近记录: |