Шаблон mooml возвращает ноль при попытке рендеринга - PullRequest
0 голосов
/ 04 марта 2011

Я пытаюсь отобразить шаблон mooml, который я создал на лету, и получаю нулевое значение, когда я вызываю render.

Вот мой код:

var myTpl = Mooml.Template('tpl', function() {
  div({class: 'new-container'},
    div({class: 'new-title'},
      div({class: 'new-text'},
        'Put your title here:'
      ),
      div({class: 'new-input'},
        input({type: 'text', name: 'title', class: 'required', title: 'Title'})
      )
    ),
    div({class: 'new-content'},
      form({method: 'post', action: '#'},
        textarea({name: 'content', style: 'width: 100%'})
      )
    )
  );
});

// el is null after executing render
var el = myTpl.render(); 

Я посмотрел на некоторые переменные в firebug, и переменная myTpl не равна нулю и не является методом рендеринга. Я не знаю много о том, что mooml делает под капотом, но я думаю, что я должен работать, учитывая следующий пример, который можно найти здесь :

var template = new Mooml.Template('mytemplate', function() {
    div('Template on the fly');
});

template.render(); // returns <div>Template on the fly</div>

Как всегда, любая помощь очень ценится.

1 Ответ

2 голосов
/ 04 марта 2011

хе, я с ужасом смотрел на это, в основном из-за того, что ваши вложенные теги написаны так беспорядочно и ищут ошибку несоответствия / синтаксиса, что заставило меня упустить из виду тот факт, что вы не смогли правильно замаскировать класс.

var foo = new Mooml.Template('tpl', function() {
    div({"class": 'new-container'},
        div({"class": 'new-title'},
            div({"class": 'new-text'}, 'Put your title here:'),
            div({"class": 'new-input'},
                input({
                      type: 'text',
                      name: 'title',
                      "class": 'required',
                      title: 'Title'
                })
            )
        ),
        div({"class": 'new-content'},
            form({method: 'post', action: '#'},
                textarea({
                    name: 'content',
                    style: 'width: 100%'
                })
            ) // form
        ) // new-content
    ); // end div function
}).render();

foo.inject(document.body);

это работает.http://jsfiddle.net/YKTyL/2/

уведомление new Mooml.Template в отличие от передачи ссылки на сам класс.это показывает нам прямо из примера, который является правильным ...

также я изменил случаи, когда вы говорите class: что-то, поскольку class является зарезервированным ключевым словом в IE и должно быть заключено в кавычки в ""

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...