在html中使用vue.js的component

由于vue.js不依赖于dom元素,所以在body中引入就行,在head中引入会在渲染dom前加载,影响页面加载速度。

js 复制代码
var vm = new Vue({  
  el: "#app",  
  data: {  
    price: "$10",  
  },  
});

在vue实例中data可以是一个对象,也可以是一个函数,但是在组件中必须是一个函数。

js 复制代码
var Counter = {
        template: `<button @click="count++">当前点击了次</button>`,
      };

组件是一个对象而不是一个vue实例

完整代码:

js 复制代码
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>HTML + CSS</title>
    <link rel="stylesheet" href="styles.css" />
  </head>
  <body>
    <div id="app">
      <Pitle label="价目表"></Pitle>
      {{price}}
      <Counter />
    </div>
    <script src="./vue.min.js"></script>
    <script>
      var Counter = {
        data() {
          return {
            count: 0,
          };
        },
        template: `<button @click="count++">当前点击了{{count}}次</button>`,
      };

      var Pitle = {
        props: ["label"],
        template: `<h1>{{label}}</h1>`,
      };

      // Vue.component("Counter", Counter);

      var vm = new Vue({
        components: {
          Counter,
          Pitle,
        },
        el: "#app",
        data: {
          price: "$10",
        },
      });
    </script>
  </body>
</html>
相关推荐
jump_jump9 分钟前
基于 Squoosh WASM 的浏览器端图片转换库
前端·javascript·性能优化
小二·3 小时前
前端监控体系完全指南:从错误捕获到用户行为分析(Vue 3 + Sentry + Web Vitals)
前端·vue.js·sentry
阿珊和她的猫4 小时前
`require` 与 `import` 的区别剖析
前端·webpack
+VX:Fegn08955 小时前
计算机毕业设计|基于springboot + vue在线音乐播放系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
谎言西西里5 小时前
零基础 Coze + 前端 Vue3 边玩边开发:宠物冰球运动员生成器
前端·coze
+VX:Fegn08955 小时前
计算机毕业设计|基于springboot + vue律师咨询系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·课程设计
努力的小郑5 小时前
2025年度总结:当我在 Cursor 里敲下 Tab 的那一刻,我知道时代变了
前端·后端·ai编程
GIS之路5 小时前
GDAL 实现数据空间查询
前端
OEC小胖胖5 小时前
01|从 Monorepo 到发布产物:React 仓库全景与构建链路
前端·react.js·前端框架
2501_944711436 小时前
构建 React Todo 应用:组件通信与状态管理的最佳实践
前端·javascript·react.js