В какой-то момент я создал свою собственную директиву с помощью вскрытия, но потом решил, что я хочу избавиться от нее и просто использовать то, с чем уже приходил Метеор.
Первое что. У меня есть .html-файл, который я назвал meteorTemplates.html
. Я просто размещаю все шаблоны метеоров здесь, которые я использую. У меня только 2, и они маленькие.
В любом случае. Шаблон выглядит следующим образом:
<template name="mdTemplate">
{{#markdown}}{{md}}{{/markdown}}
</template>
Внутри моего контроллера у меня есть:
$scope.my.markdown = '#Markdown';
Согласно angular-meteor документации:
The meteor-include directive holds the Angular scope of the directive as the as Template.currentData of the Meteor template.
Итак, Template.currentData == $ сфера.
Тогда внутри помощника шаблона я буду использовать Template.currentData() как $ scope.
Template.mdTemplate.helpers({
md: function() {
return Template.currentData().getReactively('my.markdown');
}
});
Мой ng.html файл будет выглядеть следующим образом:
<div id="markdown-preview">
<meteor-include src="mdTemplate"></meteor-include>
</div>