AngularJS摘录函数
AngularJS excerpt function
我的HTML字符串存储在我的DB中(我新文章的内容)。
我知道要在我的视图中打印这个html,我可以使用这个
<div ng-bind-html="post.content"></div>
这很好,但假设我只想打印解析字符串的前20个字符。
有没有一种方法可以存储"ng-bind-html"的返回值和对其使用的过滤器?
有没有更好的方法可以在angular中创建摘录功能?
您可以有一个自定义过滤器:
app.filter('ellipsis', function () {
return function (text, length) {
if (text.length > length) {
return text.substr(0, length) + '...';
}
return text;
}
});
你会这样使用:
<div ng-bind-html="post.content | ellipsis:20"></div>
下面是一个演示:http://jsfiddle.net/FfT6s/348/
我只是用npm模块创建了一些过滤器。
条形标记椭圆化
// stripTagsFilter.js
var striptags = require('striptags');
module.exports = function() {
return function(input) {
if (!input || !input.length) { return input; }
return striptags.apply(null, arguments);
}
};
// ellipsisFilter.js
var ellipsize = require('ellipsize');
module.exports = function() {
return ellipsize;
};
// wherever you do this stuff
.filter('ellipsis', require('./ellipsisFilter.js'))
.filter('stripTags', require('./stripTagsFilter.js'))
<!-- strip the tags, limit to 20 characters -->
<p>{{post.content | stripTags | ellipsis:20}}</p>
去掉标签可能会把剩下的文本中的句子挤在一起,所以你可能也想添加一个过滤器来解决这个问题。我建议用空格句。
<p>{{post.content | stripTags | spaceSentences | ellipsis:20}}</p>
相关文章:
- 存储$http如何从$http函数(Angularjs)外部获取可访问变量中的响应
- 使用OnClick函数(AngularJS)创建指令
- Promise创建自定义失败不是函数Angularjs错误
- 在文本点击时调用一个函数:AngularJS
- 参数不是函数-AngularJS未定义
- 获取类型错误:未定义不是函数 AngularJS
- 使用相同的函数 AngularJS 进行多表排序
- 两个不同视图上的两个按钮调用相同的函数 AngularJS
- .all()在解析函数AngularJS中
- 在UI中显示链接函数angularJs的数据
- TypeError:未定义不是函数-AngularJS
- 解析函数AngularJS超时
- 执行一个特定时间段的函数-AngularJs
- jQuery.AngularJS中的ajaxStart等效函数| AngularJS中的Ajax事件处理程序
- isValid表单验证,然后运行函数AngularJS
- 在所有控制器中对同一个事件执行同一个函数——AngularJS
- "未捕获的TypeError: undefined不是函数" AngularJS-BreezeJS
- 从控制器到外部函数angularjs的对象访问
- 如何在指令链接函数angularjs中显示来自对象的数据
- 使用$scope.$parent.$$childHead从控制器访问指令函数.AngularJS中的functionNa