Sunday, June 2, 2024
 Popular · Latest · Hot · Upcoming
56
rated 0 times [  60] [ 4]  / answers: 1 / hits: 47561  / 9 Years ago, fri, july 17, 2015, 12:00:00

I'm doing a program using Slim 2 that uses Twig as my templating engine. so It uses the syntax {{ foo }} in php file. On the other hand, I'm using vue.js, it also uses {{ bar }}.



E.g.



I'm gonna do the two way binding, below is my html code.



<div class=container>
Label Value: <label>{{ foo }}</label><br>
Field Value: <input v-model=foo>
</div>


and here is my vue js code.



new Vue({

el: '.container',
data: {
foo: 'Hello world.'
}
});


So the Hello world should be in the Label Value.



The output is the image below.



enter



Which it did not worked, probably the system thought it's a twig variable. So I checked by passing variable in a view.



$app->get('/', function() use ($app) {
$app->render('login.php', [
'foo' => 'FROM PHP FILE'
]);
})->name('login');


So I checked, the Label Value: shows the variable that I passed from the PHP file not on the VUE code.



Kind of hard to explain but you get the point. Was wondering how to bypass twig's template and use the {{ }} from vue also.



enter


More From » symfony

 Answers
6

Just change default delimiters for vue. Here's how:


Vue.js 1.0


Define delimiters globally (docs).


Vue.config.delimiters = ['${', '}']



Vue.js 2.0


Define delimiters for component (docs).


new Vue({
delimiters: ['${', '}']
})



Vue.js 3.0


Define delimiters for application (docs).


Vue.createApp({
delimiters: ['${', '}']
})

[#65770] Wednesday, July 15, 2015, 9 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
jaylanw

Total Points: 730
Total Questions: 98
Total Answers: 95

Location: Saudi Arabia
Member since Tue, Nov 29, 2022
2 Years ago
;