You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue.component 组件无法正常运行,请求排查问题原因

问题排查与解决方案

嘿,我一眼就瞅出问题啦!你的todo-item组件没法正常渲染,核心原因是组件注册的时机不对。

具体问题分析

你现在的代码是先创建了Vue实例(new Vue(...)),然后才去注册全局组件todo-item。但Vue实例在初始化挂载到#app节点的时候,根本还不知道有todo-item这个组件存在,自然就没法解析这个自定义标签啦。

修正后的代码

只要把全局组件的注册代码移到Vue实例创建之前就行:

<script src="https://unpkg.com/vue"></script>
<div id="app">
  <p>{{ message }}</p>
  <ol>
    <!-- 创建todo-item组件实例 -->
    <todo-item></todo-item>
  </ol>
</div>

<script>
// 先注册全局组件
Vue.component('todo-item', {
  template: '<li>This is a todo</li>'
})

// 再创建Vue实例
var a = new Vue({
  el: '#app',
  data: {
    message: 'Hello Vue.js!'
  }
})
</script>

额外小提示

如果之后你想用局部组件(只在特定实例中可用),可以把组件定义放在Vue实例的components选项里,这样就不用管顺序啦,比如:

var a = new Vue({
  el: '#app',
  data: {
    message: 'Hello Vue.js!'
  },
  components: {
    'todo-item': {
      template: '<li>This is a todo</li>'
    }
  }
})

内容的提问来源于stack exchange,提问作者LittleFunny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:54:21