2013-11-19 3 views
0

--использование Метеор БАЗЫ -Оценка шаблона на лету

Привет Я хочу, чтобы получить доступ к следующему шаблону с помощью Template["tViewPost"]

<template name="tViewPost"> 
    <div class="breadcrumb"> 
     <span>{{title}}</span>&lsaquo;&lsaquo;<span>{{subttile}}</span> 
    </div> 
</template> 

И быть в состоянии вынести/оценить этот шаблон с JavaScript объект как { title : "My title", subttitle : "othe subtitle"};, но я не знаю, как это сделать, как только у меня есть шаблон в переменной, я хотел бы сделать это как подчеркивание библиотека делает. [пример http://underscorejs.org/]

var template = _.template("whatever <%= title %>"); 
var o = {title : "ohhh!"}; 
$("someDomElement").html(template(o)) 

делает все возможное? и как? спасибо ...

+0

Ну, вопрос не понятен мне. 1. Не знаете, как назначить строковый литерал переменной? Или код шаблона присутствует в каком-то файле, и вы хотите, чтобы он мог прочитать этот файл на сервере и передать его в javascript на стороне клиента? 2. Вы хотите использовать функцию шаблона подчеркивания или написать свой собственный? – Chandranshu

+0

Привет, Man, это использует Meteor framework, Meteor имеет глобальную переменную с именем Template, в которой хранятся все шаблоны, которые вы объявляете в любом html-файле, затем вы можете получить доступ к шаблону с помощью функции Template ["name of the template"]. Мой вопрос заключается в том, как использовать эту удивительную систему, но подчёркивать. вместо handlerbars.js, который является системой шаблонов, используемой Meteor. – ncubica

+1

Я собираюсь узнать Метеор в ближайшее время. Итак, я проверял это онлайн-документацию по чтению, просматривал скринкасты и т. Д. Я считаю, что на данный момент подчеркивание упаковано вместе с Meteor. Таким образом, вы должны иметь возможность использовать методы из underscore.js непосредственно, просто написав шаблоны, как вы должны писать для обычного приложения underscore.js. – Chandranshu

ответ

2

Вы можете попробовать сделать это с помощью Meteor.render (из документации):

// Client side: show the number of players online. 
var frag = Meteor.render(function() { 
    return "<p>There are " + Players.find({online: true}).count() + 
    " players online.</p>"; 
}); 
document.body.appendChild(frag); 

// Server side: find all players that have been idle for a while, 
// and mark them as offline. The count on the screen will 
// automatically update on all clients. 
Players.update({idleTime: {$gt: 30}}, {$set: {online: false}}); 

Отредактировано:

// returns string which contains html 
Meteor.render(Template['name'](dataObject)) 


// your case: 
<template name="test"> 
    whatever {{title}}" 
</template> 

var o = {title : "ohhh!"}; 

$("someDomElement").html(Meteor.render(Template['test'](o))) 
+0

Я уже пробовал это, но на самом деле вопрос, немного отличается. Я пытаюсь подражать тому, как это подчеркивается. над строкой. Оцените его с помощью объекта «на лету». – ncubica

+0

Сообщение обновлено с примером, подобным подчеркиванию. –

+0

ohh thank man Я попробую в пару минут ... если работа наверняка вы получите правильный ответ: D – ncubica

Смежные вопросы