Javascript 在meteorjs和Bootstrap3中仅显示50个字符

Javascript 在meteorjs和Bootstrap3中仅显示50个字符,javascript,twitter-bootstrap,meteor,Javascript,Twitter Bootstrap,Meteor,我正在为我的应用程序使用Meteorjs和Bootstrap3。这两个我都是新手。我所做的是从数据库中获取一些对象,并将它们呈现在表中。但问题是,如果对象文本较长,则会增加表行大小,从而影响所有模板结构。我可以通过隐藏溢出来做到这一点,但这不是一种正确的方法。我是这样做的 {{#each questions}} <tr> <td> <a href="#" data-id="{{_id}}" class="edit"> {{questio

我正在为我的应用程序使用Meteorjs和Bootstrap3。这两个我都是新手。我所做的是从数据库中获取一些对象,并将它们呈现在表中。但问题是,如果对象文本较长,则会增加表行大小,从而影响所有模板结构。我可以通过隐藏溢出来做到这一点,但这不是一种正确的方法。我是这样做的

{{#each questions}}
    <tr>
        <td>
<a href="#" data-id="{{_id}}" class="edit"> {{question_text}}</a>
         </td>
    </tr>
{{/each}}


Template.questions.questions = function () {
    questions= Meteor.questions.find({topic_id: Session.get("currentTopicId")});
    return questions
}
{{#每个问题}
{{/每个}}
Template.questions.questions=函数(){
questions=Meteor.questions.find({topic\u id:Session.get(“currentTopicId”)});
回答问题
}
我只想在TD单元格中显示问题的前50个字符,后面是几个点。我怎样才能在meteorjs中做到这一点。渲染之前是否需要拆分文本?或者告诉我如何在模板中拆分问题文本,或者是否存在只显示文本前50个字符的内置方法

我的下一个查询是打印或执行console.log(问题)时,它向我显示许多字段,如集合、查询和其他一些内容,其中查询、结果和文档都包含对象问题。如何从响应对象获取这些问题对象。意味着我想在这些问题对象上迭代一个循环。我该怎么做呢。简单地说,我想在检索到的对象上迭代循环


有人能用handlebarsjs.js发布一个完整的例子吗

 Handlebars.registerHelper('trimString', function(passedString) {
      return new Handlebars.SafeString(passedString.substring(0,50))
   });

{{trimstring question_text}}

你可以和助手一起做

 Handlebars.registerHelper('trimString', function(passedString) {
      return new Handlebars.SafeString(passedString.substring(0,50))
   });

{{trimstring question_text}}

在CSS3的世界里,在JS中修剪文本不再是这样。我鼓励您为此使用CSS3。福利

  • 悬停后的修剪文本以完整格式显示在提示中
  • 与元素宽度(本例中为td单元)相关的动态微调
  • 更灵活
.trimmed{ 溢出:隐藏;/*需要使文本溢出工作*/ 文本溢出:省略号;/*添加“…”*/ 宽度:9em;/*可固定为柔性,如%*/ 空白:nowrap;/*如果文本不适合元素,请不要将其换行*/ }
在CSS3的世界里,在JS中修剪文本不再是这样。我鼓励您为此使用CSS3。福利

  • 悬停后的修剪文本以完整格式显示在提示中
  • 与元素宽度(本例中为td单元)相关的动态微调
  • 更灵活
.trimmed{ 溢出:隐藏;/*需要使文本溢出工作*/ 文本溢出:省略号;/*添加“…”*/ 宽度:9em;/*可固定为柔性,如%*/ 空白:nowrap;/*如果文本不适合元素,请不要将其换行*/ }
这是我的梦想。今天是我和meteorjs的第二天。让我试试你告诉我的东西。我需要先学习车把,你能不能再解释一下这个方法。意味着我如何将值传递给这个helper函数,然后返回一个适当值的列表如果我试图像传递{{trimstring question_text}}一样传递它抛出一个错误它是服务器崩溃错误。现在我已经改变了。我正试着这样做
Template.questions.questions=function(){console.log(“此函数已被调用”)返回问题。查找({topic_id:Session.get(“currentTopicId”)})。映射(function(question){return question.question_text.substr(0,50);})正在向我显示文本。但没有向模板返回任何内容。错误是没有调用我的trimString函数。现在它工作得很好。今天是我和meteorjs的第二天。让我试试你告诉我的东西。我需要先学习车把,你能不能再解释一下这个方法。意味着我如何将值传递给这个helper函数,然后返回一个适当值的列表如果我试图像传递{{trimstring question_text}}一样传递它抛出一个错误它是服务器崩溃错误。现在我已经改变了。我正试着这样做
Template.questions.questions=function(){console.log(“此函数已被调用”)返回问题。查找({topic_id:Session.get(“currentTopicId”)})。映射(function(question){return question.question_text.substr(0,50);})正在向我显示文本。但没有向模板返回任何内容。错误是没有调用我的trimString函数。现在它工作得很好,但是你使用了meteor helpers方法bcz,这似乎比隐藏溢出要更好、更有效。这取决于你说的是哪种效率,服务器还是客户端?CSS用于表示层,修剪文本是表示问题。当然,如果您愿意,您可以在服务器端修剪文本:)。是的,您是对的,Jagi,谢谢您,您告诉我们所有数据都将在那里,但都是隐藏的。但是在这里,我得到了一个只有50个字符的子字符串,并将其发送到表中。Thanx Jagi,但是你使用了meteor helpers方法bcz,这似乎比隐藏溢出要好得多,效率也更高。这取决于你说的是哪种效率,服务器还是客户端?CSS用于表示层,修剪文本是表示问题。当然,如果您愿意,您可以在服务器端修剪文本:)。是的,您是对的,Jagi,谢谢您,您告诉我们所有数据都将在那里,但都是隐藏的。但在这里,我得到一个只有50个字符的子字符串,并将其发送到表中。