Встроенный javascript внутри шаблона handlebars

Нет ли способа иметь встроенный script в шаблоне Handlebars?

<script type="text/x-handlebars">
    I'm a row of type "foo"
    <script type="text/javascript">alert('hi');</script>
</script>

Когда приведенный выше шаблон отображает, inline script удаляется.

То, что я пытаюсь сделать, это включить виджет disqus на странице. Виджет в основном представляет собой разметку + disqus script.

Виджет должен быть включен в под-просмотр моего приложения. Подвью не отображается по умолчанию, но отображается в соответствии с некоторой логикой в ​​моем коде приложения Ember.

Ответы

Ответ 1

Вам придется обернуть этот виджет в пользовательском Ember.View, чтобы обработать его экземпляр и добавить его в DOM, в представлении оболочки didInsertElement. Ember ожидает, особенно внутри шаблонов руля, иметь полный контроль над манипуляциями DOM, и он делает это с помощью комбинации рулей и создания Ember.View. После того, как вы определили свое пользовательское представление:

MyApp.DisqusView = Em.View.extend({
    didInsertElement: function() {
        // create widget and append it to this.$()
    }
});

Вы можете использовать его в своем шаблоне ручек:

{{view MyApp.DisqusView}}

В вашем представлении не следует добавлять теги Script по соображениям безопасности, но лучше использовать любой JS для вставки виджета.