2015-11-30 4 views
1

Я работаю над узлом js с mongodb. Я получаю значение doc в файле вида.split string in nodejs

{{#each doc}} 
    <div class="abstract" data-reactid=".1ejbmifi4u8.1.1.0.1.2.0:$35.0.0.1.2.0" id="content"> 
            {{this.content}}</div> 
{{/each}} 

это напечатает значение содержания. Я хочу напечатать только 40 символов этого контента на странице просмотра, а затем хочу реализовать «читать больше», чтобы перейти на полную страницу контента.

+0

Вы можете использовать 'content.substring (0,40)' в вашем JS-файле – Chandan

+0

@Chandan, но из js-файла я отправляю весь документ как .. res.write (loadView ('bodylearnmorepage', {doc: docs })) –

ответ

1

Угадываясь по синтаксису, вы используете Handlebars или некоторые аналогичные производные. Если это не Handlebars, вам придется немного изменить ниже, чтобы соответствовать вашей структуре, но она должна быть аналогичной. Оставьте комментарий, если это не так, и я отредактирую.

Handlebars поддерживает так называемые помощники, которые позволяют вам манипулировать данными, передаваемыми в ваши представления.

Вы могли бы написать помощника с именем, например, excerpt, например, так:

Handlebars.registerHelper('excerpt', function(data, url) { 
    if (data.length > 40) { 
    return new Handlebars.SafeString(
     data.substring(0, 40) + '… <a href="' + url + '">Read more</a>" 
    ); 
    } 

    return data; 
}); 

Вы можете использовать его как {{excerpt this.content this.readMoreUrl}}, где this.readMoreUrl находится в зависимости от того свойство обеспечивает соответствующий URL.

0

Я не знаком с JavaScript MVC, но вы можете сделать что-то подобное в JS:

content = this.content 
if(content.length > 40) 
    content_to_print = content.substr(0,40) 
    content_to_print = content_to_print+' <a href="#">Read More...</a>' 

Надеется, что это помогает!

+0

Ваш оператор 'if' не является законным синтаксисом Javascript. – jfriend00

+0

@ jfriend00 спасибо за исправление. Я обновил свой ответ. – Junaid

+0

@Junaid: Проблема, я столкнулся на странице просмотра, потому что мне нужно отправить весь документ на страницу просмотра, чтобы я мог печатать содержимое вместе с заголовком. поэтому я не думаю, что js-код будет работать. –