Ember 2:截断文本并添加省略号
Ember 2: Truncate text and add ellipses
我正在寻找一个简单的插件或助手,用于截断并添加省略号的长字符串。我发现了一些带有 handlebar helper 的例子,但我认为大多数都已经过时了。我创建了一个名为 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="Long text here."}
如能做到,将不胜感激
{{truncate-text text="Long text here." limit=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}}
通常你不需要javascript,你可以用css代替
.text {
overflow: hidden;
text-overflow: ellipsis;
width: 100px;
background: green;
white-space: pre;
}
我正在寻找一个简单的插件或助手,用于截断并添加省略号的长字符串。我发现了一些带有 handlebar helper 的例子,但我认为大多数都已经过时了。我创建了一个名为 truncate-text 的 ember 助手,并试图拼凑示例,但没有成功。此外,如果有一种方法可以定义每个用例的字符数限制,那将是一个奖励。
这是我 helpers/truncate-text.js 中的内容 从 'ember';
导入 Emberexport 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="Long text here."}
如能做到,将不胜感激
{{truncate-text text="Long text here." limit=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}}
通常你不需要javascript,你可以用css代替
.text {
overflow: hidden;
text-overflow: ellipsis;
width: 100px;
background: green;
white-space: pre;
}