如何将带有翻译字符串的对象从 symfony twig 传递到 vue 组件
How to pass an object with translation strings from symfony twig to a vue component
我正在使用 shopware (symfony twig) 并从 vue 获得了一个我必须实现的小应用程序。我只想从商店传递一个带有翻译字符串的对象,以用作组件中的文本,但我只得到对象键,值是空的。
在我的树枝模板中:
{% set snippets =
{
header: example.header|trans
}
%}
<div id="app" snippet={{ snippets|json_encode() }}>
<demo></demo>
</div>
<script>
new Vue({
components: {
demo: Component
}
}).$mount('#app')
</script>
在我得到的 vue 组件中
data() {
let snippetSet = document.getElementById('app').getAttribute('snippet')
return {
snippet: snippetSet,
}
},
mounted() {
console.log(this.snippet);
}
输出为 {"header":""}
这是我第一次使用这个堆栈,所以我非常感谢任何关于如何以不同的方式实现我的目标的建议。
您必须将一个字符串传递给 trans 函数,现在您正在尝试读取一个不存在的变量。
这应该有效:
{% set snippets =
{
header: "example.header"|trans
}
%}
我正在使用 shopware (symfony twig) 并从 vue 获得了一个我必须实现的小应用程序。我只想从商店传递一个带有翻译字符串的对象,以用作组件中的文本,但我只得到对象键,值是空的。
在我的树枝模板中:
{% set snippets =
{
header: example.header|trans
}
%}
<div id="app" snippet={{ snippets|json_encode() }}>
<demo></demo>
</div>
<script>
new Vue({
components: {
demo: Component
}
}).$mount('#app')
</script>
在我得到的 vue 组件中
data() {
let snippetSet = document.getElementById('app').getAttribute('snippet')
return {
snippet: snippetSet,
}
},
mounted() {
console.log(this.snippet);
}
输出为 {"header":""}
这是我第一次使用这个堆栈,所以我非常感谢任何关于如何以不同的方式实现我的目标的建议。
您必须将一个字符串传递给 trans 函数,现在您正在尝试读取一个不存在的变量。
这应该有效:
{% set snippets =
{
header: "example.header"|trans
}
%}