JavaScript в нефрите - PullRequest
       6

JavaScript в нефрите

0 голосов
/ 28 августа 2011

Здравствуйте, я пытаюсь использовать некоторые встроенные функции javascript внутри jade, но получаю ошибку. Вот код:

 - each post in posts
           li(class: 'user-') #{post.created} #{post.body} #{post.title} #{post.tags} #{post._id}
             - var tags = post.tags
             - tags.split(' ')
             - each tag in tags    
           li(class : 'tags') #{tags.tag}

Я получаю ошибку: Object tag1,,,,,,,,tag2 has no method 'split'

1 Ответ

1 голос
/ 29 августа 2011

Похоже, вы смешиваете табуляцию и пробелы.Jade.js строго следует соглашению о двух пробелах, и вкладки часто портят парсер.Удаление вкладок у меня все работает нормально.

- each post in posts
  li(class: 'user-') #{post.created} #{post.body} #{post.title} #{post.tags} #{post._id}
   - var tags = post.tags.split(' ')
   - each tag in tags
     li(class : 'tags') #{tags.tag}

И Javascript для рендеринга файла .jade.

var jade = require('jade');

var options = {
    locals: {
        posts:[{
                created:'today',
                tags:'1 2 3'
          }]    
    }
};

jade.renderFile(__dirname + '/each.jade', options, function(err, html){
    if (err) throw err;
    console.log(html);
});

Просто убедитесь, что вы передаете переменную tags влокальные переменные.

...