alexanderkx
@alexanderkx

Как подружить mustache в node.js и vue.js?

Решил попробовать vue.js и сразу наткнулся на проблемы.
Как я понял дело в том, что приложение на node.js и используется mustache, который видимо "конфликтует" с мусташем при выводе данных от vue.js.

Вообщем, простенький:

var App = Vue.extend({
	name: "app"
});

var vm = new App({
	el: "#app",
	data: {
		name: 'test'
	},
	ready: function(){
		console.log("Готово...");
	}
});


html:

<div id="app" data-name="{{name}}">{{name}}</div>

при работе через node.js ничего не выводит в #app, а ежели просто открыть в браузере, минуя node.js, то всё прекрасно отработает.

Понятно, что дело именно в мусташе, а точнее, видимо при рендеринге откидываются {{конструкции}}, не указанные в res.render, отсюда они и не доходят до vue.js. Как подобное решить, кроме как отказаться от мусташа на бэкэнде?

Благодарю!
  • Вопрос задан
  • 700 просмотров
Решения вопроса 1
alexanderkx
@alexanderkx Автор вопроса
Решение нашлось.

Чтобы дать понять мусташу, что {{конструкиця}} не должна обрабатываться на стороне сервера, надо выделить требуемый участок разметки конструкцией: {{={{{ }}}=}} ... {{{={{ }}=}}}.

Итого, в моём случаи это так:

{{={{{ }}}=}}
   <div id="app" data-name="{{name}}">{{name}}</div>
{{{={{ }}=}}}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы