2014-01-23 1 views
0

Например, скажем, у меня есть подмешать создать Публикаций:Как передать содержание нескольких абзацев в Mixin Джейд в качестве аргумента

mixin blogPost(title, content) 
    article 
     h1= title 
     p= content 

Используется как так:

+blogPost("Post Title","Post Content") 

Результаты в :

<article> 
    <h1>Post Title</h1> 
    <p>Post Content</p> 
</article> 

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

**Title** 
My awesome blog post 

**Post Content** 
This is my awesome blog post. 

This is a new paragraph about my awesome blog post. 

Может, что-то вроде этого сделать трюк?

mixin blogPost(title, content) 
article 
    h1= title 
    - for each paragraph in content 
     p= content 

Названный так:

+blogPost("Post Title", {"This is my awesome blog post.","This is a new paragraph about my awesome blog post."}) 

Будет ли это работать? Есть ли способ лучше?

ответ

2

Да, это сработает, но ваша логика mixin не совсем правильная, и вам нужно передать абзацы содержания как массив строк, а не объект, как у вас в вашем примере.

подмешать Изменения

  • удалить for ключевое слово
  • набор p= paragraph, не content, который является массивом

С учетом этих изменений ваш Mixin должен выглядеть примерно так

mixin blogPost(title, content) 
article 
    h1= title 
    - each paragraph in content 
     p= paragraph 

Тогда просто не забудьте вызвать mixin с массивом строк

+blogPost("Post Title", ["This is my awesome blog post.","This is a new paragraph about my awesome blog post."]) 
Смежные вопросы