ember.js - Ember 2 : Truncate text and add ellipses

标签 ember.js ember-cli

我正在寻找一个简单的插件或帮助器来处理长字符串,它会截断并添加省略号。我发现了一些带有 Handlebars 助手的示例,但我认为大多数都已经过时了。我创建了一个名为 truncate-text 的 ember 助手,并尝试拼凑示例,但没有成功。另外,如果有一种方法可以定义每个用例的字符数限制,那就太好了。

这是我的 helpers/truncate-text.js 中的内容 从 'ember' 导入 Ember;

export function truncateText(text) {
  if (text.length > 60) {
    var theString = text.substring(0, 60) + " ... ";
    return new Ember.Handlebars.SafeString(theString);
  } else {
    return text;
  }
}

export default Ember.Helper.helper(truncateText);

在我的 template.hbs 中 {{truncate-text text="此处为长文本。"}

如果我能做到这一点,我将不胜感激 {{truncate-text text="此处为长文本。"限制=65}}

最佳答案

以下是根据您指定的限制截断文本的帮助程序示例:

function truncateText(params, hash) {
  const [ value ] = params;
  const { limit } = hash;
  let text = '';

  if (value != null && value.length > 0) {
    text = value.substr(0, limit);

    if (value.length > limit) {
      text += '...';
    }
  }

  return text;
}

export default Ember.Helper.helper(truncateText);

然后您可以在模板中使用它,如下所示

{{truncate-text "Lorem ipsum dolor long text" limit=5}}

您可以在此处查看演示 https://ember-twiddle.com/fcb02795216a206b64dc

关于ember.js - Ember 2 : Truncate text and add ellipses,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34189233/

相关文章:

ember.js - emberjs - 将动态参数传递给组件助手

javascript - EmberJS 作为 Handlebars 模板中的关键字

javascript - Ember CLI Hook /事件错误

javascript - 开始使用 Ember.js

jquery - 如何监听操作中的点击 - emberjs 最佳实践

ember.js - 使用 {{link-to}} 帮助程序测试 Ember-CLI 组件

Ember-cli:导入 blanket.js 导致测试运行程序挂起

javascript - Ember 附加 RESTadaptor : error on <Ember. Route:ember325>/加载路由时出错,然后大量转储 JavaScript

javascript - 观察数组 Controller 中 ItemController 的变化

javascript - 模型未使用 Ember.js 和 WebApiAdapter 序列化