Я пытаюсь отобразить строку, вытащенную из моей модели, содержащую пользовательские компоненты ember. Похоже, что они не скомпилированы - см. (1) и (2) на выходе. Если я заменяю пользовательские компоненты на стандартные элементы html и использую синтаксис {{{}}} для привязки, все выглядит правильно (см. (3) и (4) на выходе), но этого недостаточно для приложения I Имейте в виду, однако. Как я могу получить ember для компиляции пользовательских компонентов перед их отображением?Привязка к строкам, содержащим пользовательские компоненты в Ember.js
app.js:
App = Ember.Application.create();
var g1 = "{{#my-bold}}Yo{{/my-bold}}, {{#my-italic}}dude{{/my-italic}}!";
var g2 = "<b>Yo</b>, <i>dude</i>!";
App.IndexRoute = Ember.Route.extend({
model: function() {
return {greeting1: g1, greeting2: g2}
}
});
App.MyBoldComponent = Ember.Component.extend({tagName: "span"});
App.MyItalicComponent = Ember.Component.extend({tagName: "span"});
index.html
<script type="text/x-handlebars">
{{outlet}}
</script>
<script type="text/x-handlebars" id="components/my-bold"><b>{{yield}}</b></script>
<script type="text/x-handlebars" id="components/my-italic"><i>{{yield}}</i></script>
<script type="text/x-handlebars" id="index">
<ol>
<li>{{model.greeting1}}</li>
<li>{{{model.greeting1}}}</li>
<li>{{{model.greeting2}}}</li>
<li>{{#my-bold}}Yo,{{/my-bold}} {{#my-italic}}dude!{{/my-italic}}</li>
</ol>
</script>
выход:
- {{# мой-жирный}} {{Yo/мой-жирный}} , {{# my-italic}} чувак {{/ my-italic}}!
- {{# my-bold}} Yo {{my-bold}}, {{# my-italic}} чувак {{my-italic}}!
- Yo, чувак!
- Yo, чувак!