我正在为Vue.js应用程序创作一个组件,并遇到了一个问题,即如果在应用程序代码中更改了分隔符,则插件模板显然无法正常工作(由于我们更改了Vue,因此立即获取分隔符与Twig模板令牌不冲突。)
为了示例,我的组件如下所示:
Vue.component('example', {
template: 'Something with {{ normal_delimiters }}'
});
假设应用程序中包含一些标准<script>
:
<script src="path/to/vue.js"></script>
<script src="path/to/my-component.js"></script>
<script src="path/to/application.js"></script>
在组件代码中引用Vue.config.delimiters
选项将产生默认值({{ }}
),因为它们不会更改,直到应用程序代码在页面的下方。
我可以投资一些道路,就像在组件上使用ready
处理程序一样,以某种方式更新模板字符串,强制将分隔符更改为页面中的第一个JavaScript(非常糟糕的经历)等,但我想我会问是否有“正确”的方法来做到这一点。
看起来这个问题的解决方案是discussed but abandoned。
在任何lifecycle hooks内部访问或修改this.$template
都没有任何影响。
答案 0 :(得分:0)
Vue 2的发布完全通过在每个组件的基础上配置分隔符来解决这个问题。