VueJS-DOM模板解析和自定义元素

时间:2019-05-06 16:27:40

标签: javascript templates vue.js dom

基本上,在DOM模板解析模式下,我需要VueJS来提醒我有关未注册组件的信息。目前看来,Vue在使用DOM模板时并不关心自定义HTML,同时在使用单文件组件,字符串模板和x模板(根据the docs)时,错误已正确发出。

重现此问题的一种简单方法是注册组件:

signature.EncryptionAlgorithms

然后挂载一个简单的Vue实例

null

其中,在Vue.component('existing', { template: ` <div> <p>Existing component</p> </div> ` }) 元素下的DOM中,有一个未注册的元素,如

new window.Vue({
  el: '#app',
  data() {
    return {
      text: 'text'
    }
  },
  mounted() {
    console.log('mounted')
  }
})

我已经准备好CodePen来重现这个简单的环境。

1 个答案:

答案 0 :(得分:1)

在这种情况下,Vue确实会引发[Vue warn]错误。

但是,您在CodePen示例(vue.min.js)中使用的是Vue的生产版本,该版本禁止显示这些警告。

以下是使用非生产版本的Vue的示例:

Vue.config.devtools = false;

Vue.component('existing', {
  template: `
    <div>
      <p>Existing component</p>
    </div>
  `
})

new Vue({
  el: '#app',
  data() {
    return {
      text: 'text'
    }
  },
  mounted() {
    console.log('root mounted')
  }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
  {{text}}
  <existing></existing>
  
  <!-- Should give an error -->
  <non-existing></non-existing>
</div>