2016-08-24 17 views
2

我正在爲Vue.js應用程序創作組件,並且遇到了問題,如果在應用程序代碼中更改了分隔符,插件模板顯然不起作用正確的(這是因爲我們改變Vue分隔符不與枝條模板標記衝突而立即被拾取)。正確的方法來引用最新的Vue分隔符組件

我例如起見部件看起來像:

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


它看起來並不像訪問或修改this.$template內任何lifecycle hooks已經沒有任何影響。

+0

根據https://github.com/vuejs/vue/blob/next/src/entries/web-runtime-with-compiler.js#L57,在Vue 2.0的Web編譯器中,可能可以執行這通過在組件上設置$ options.delimiters = [open,close]來實現。未經測試,但我懷疑這與vue-loader,vueify和類似的工作。 –

回答

0

Vue 2的發佈完全通過在每個組件的基礎上配置分隔符來解決這個問題。

相關問題