返回顶部
首页 > 资讯 > 前端开发 > 其他 >vue项目只有一个vue实例么
  • 149
分享到

vue项目只有一个vue实例么

Vuevue3 2023-05-14 21:05:22 149人浏览 薄情痞子
摘要

本教程操作环境:windows7系统、vue3版,DELL G3电脑。不是,vue项目中可以包含多个vue实例。Vue是由一个个实例构建而成的,一个组件就是一个Vue的实例,每个组件内部都可以写属性,因此每一个组件都是一个Vue的实例。在v

vue项目只有一个vue实例么

教程操作环境:windows7系统、vue3版,DELL G3电脑。

不是,vue项目中可以包含多个vue实例。

Vue是由一个个实例构建而成的,一个组件就是一个Vue的实例,每个组件内部都可以写属性,因此每一个组件都是一个Vue的实例。在vue项目中,一般只有一个VUE实例在main.js中定义,其他都是vue组件实例。

Vue 实例

使用 Vue 写项目时,最重要的是 Vue 实例,它提供了学习 Vue 的方向,逐步掌握与 Vue 实例相关的「特性」是我们的终极目标。

首先,在一个 html 文件中加载 vue.js,可以通过 script 标签直接加载 vue.js 文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Vue实例</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<body>

用浏览器打开这个页面,在 console 中输入 Vue ,你会发现 Vue 其本质是一个函数:

vue项目只有一个vue实例么

其实 Vue 是一个构造函数,可以被看作是一个“类”,通过 new 创建它的实例。那究竟在一个页面中能创建多少个实例呢?

通常在一个页面中只创建一个 Vue 实例:

<body>
    <div id="app">Hello {{ msg }}</div>
    <script>
        const vm = new Vue({
            el: '#app',
            data: function () {
                return {
                    msg: '前端小课'
                }
            }
        });
</script>
</body>

创建一个 Vue 实例时传入一个「定制」的对象,我们可以把上面的对象换一种写法:

<body>
    <div id="app">Hello {{ msg }}</div>
    <script>
        const obj = {
            el: '#app',
            data: function () {
                return {
                    msg: '前端小课'
                }
            }
        }
        const vm = new Vue(obj);
</script>
</body>

在 obj 这个对象中,有个属性 el,表示给 Vue 实例提供的「模板」,也就是说当你创建一个实例时,要告诉 Vue 渲染的 HTML 是什么,如何把 HTML 中要做的事情与 obj 建立某种连接。比如 HTML 模板中要显示的数据如何和 Vue 实例的数据建立关联,如何响应 HTML 模板中要触发的事件。要建立关联,必须在模板与Vue实例之间作出约定。

el 可以是一个 选择器,也可以是一个 HTMLElement (打通 DOM 的设计架构 )实例。可以把 el 写成:

el: document.getElementById('app'),

也可以是任意一个选择器:

 el: 'div',

下面这个显示结果是什么?

vue项目只有一个vue实例么

最终发现 title 这个值 “早上好,打卡!” 并没有被渲染到 HTML 上,这是因为 title 所在的 div 并没有在 Vue 实例的作用范围内,也就是说 Vue 实例只能作用到创建实例时所在的模板(比如通过 el 指向的 模板):

vue项目只有一个vue实例么

其实,一个页面可以创建多个 Vue 实例,比如下面的代码创建了 3 个 Vue 实例,发现可以正常工作:

<body>
    <div id="app">
        <h1>{{ msg }}</h1>
    </div>
    <div id="app-body">
        <h4>{{ title }}</h4>
    </div>
    <div class="app-footer">
        <h4>{{ footer }}</h4>
    </div>
    <script>
        const vm = new Vue({
            el: '#app',
            data: function () {
                return {
                    msg: "欢迎来到前端小课",
                }
            }
        });
</script>
    <script>
        const vmBody = new Vue({
            el: '#app-body',
            data: function () {
                return {
                    title: "Vue 实例讲解"
                }
            }
        });
</script>
    <script>
        const vmFooter = new Vue({
            el: '.app-footer',
            data: function () {
                return {
                    footer: "感谢阅读",
                }
            }
        });
</script>
</body>

用浏览器打开,结果如下:

vue项目只有一个vue实例么

这个例子让我想到了组件,「组件是可复用的 Vue 实例」,这种写法有点像组件,每一个 Vue 实例看成是一个组件。

我们再看一个例子 —— Vue 实例中再嵌套一个 Vue 实例:

<body>
    <div id="app">
        <h1>{{ msg }}</h1>
        <!-- 这里不能声明一个新的 Vue 实例 -->
        <div id="app-body">
            <h4>会渲染吗?{{ title }}</h4>
        </div>
    </div>
    <script>
        const vm = new Vue({
            el: '#app',
            data: function () {
                return {
                    msg: "欢迎来到前端小课",
                    title: "#app - Vue 实例讲解"
                }
            }
        });
</script>
    <script>
        const vmBody = new Vue({
            el: '#app-body',
            data: function () {
                return {
                    title: "#app-body - Vue 实例讲解"
                }
            }
        });
</script>
</body>

渲染结果为,发现结果使用的是 #app 实例中的数据:

vue项目只有一个vue实例么

Vue 实例中还有很多 api,每一个 API 都需要我们逐步学习。比如生命周期函数,计算属性,定义方法,过滤器:

vue项目只有一个vue实例么

vue项目只有一个vue实例么

【相关推荐:vuejs视频教程、WEB前端开发

以上就是vue项目只有一个vue实例么的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: vue项目只有一个vue实例么

本文链接: https://lsjlt.com/news/205950.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • vue项目只有一个vue实例么
    本教程操作环境:windows7系统、vue3版,DELL G3电脑。不是,vue项目中可以包含多个vue实例。Vue是由一个个实例构建而成的,一个组件就是一个Vue的实例,每个组件内部都可以写属性,因此每一个组件都是一个Vue的实例。在v...
    99+
    2023-05-14
    Vue vue3
  • vue项目是不是只有一个vue实例
    这篇“vue项目是不是只有一个vue实例”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue项目是不是只有一个vue实例”文...
    99+
    2023-07-04
  • 怎么搭建一个vue项目
    这篇“怎么搭建一个vue项目”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么搭建一个vue项目”文章吧。一、环境准备1、安...
    99+
    2023-07-02
  • 使用 vue-cli怎么搭建一个vue项目
    使用 vue-cli怎么搭建一个vue项目,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 一、 安装 node.js首先需要安装no...
    99+
    2024-04-02
  • 怎么在vue项目中实现一个竖向表格
    怎么在vue项目中实现一个竖向表格?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。为什么要使用VueVue是一款友好的、多用途且高性能的JavaScript框架,...
    99+
    2023-06-14
  • 使用idea创建第一个Vue项目
    目录创建项目创建项目之后:自动编译创建项目之后:初始项目架构项目启动创建项目 创建项目之后:自动编译 sr/local/bin/node /usr/local/lib/node...
    99+
    2024-04-02
  • vue-cli3+typescript如何新建一个项目
    这篇文章主要介绍了vue-cli3+typescript如何新建一个项目,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。初始化项目卸载老版本脚...
    99+
    2024-04-02
  • VUE实现一个简易老虎机的项目实践
    目录简单分析下先看看效果htmljs部分总结今天突然要做一个竖直滚动老虎机,可以设置中奖位置,以及中奖回调,然后再带点常规的滚动动画,还是有点意思,和之前的转盘抽奖有点类似,有兴趣可...
    99+
    2024-04-02
  • vue只有一个根标签的原因是什么
    今天小编给大家分享一下vue只有一个根标签的原因是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了...
    99+
    2024-04-02
  • 怎么快速创建一个SpreadJS的Vue项目
    本篇内容主要讲解“怎么快速创建一个SpreadJS的Vue项目”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么快速创建一个SpreadJS的Vue项目”吧!安...
    99+
    2024-04-02
  • Linux中怎么部署一个Vue项目环境
    这篇文章将为大家详细讲解有关Linux中怎么部署一个Vue项目环境,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。安装要将Vuei .js集成到一个项目中,您可以使用CDN包、NPM或CLI。...
    99+
    2023-06-15
  • 多个vue项目复用一个node_modules的问题
    目录多个vue项目复用一个node_modulesvue项目共用node_modules问题目的多个vue项目复用一个node_modules 公司的好多个vue小项目的依赖包基本是...
    99+
    2024-04-02
  • 多个vue项目实现共用一个node-modules文件夹
    多个vue项目共用一个node-modules文件夹 问题背景 一个目录下有多个vue项目。 >> root     -- my-vueproject-a        ...
    99+
    2024-04-02
  • vue项目实战的示例分析
    这篇文章主要为大家展示了“vue项目实战的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue项目实战的示例分析”这篇文章...
    99+
    2024-04-02
  • Vue项目中Websocket的使用实例
    目录前言判断浏览器是否支持websocket的方法Vue项目里使用websocket的实例总结前言 由于项目需求有要使用长链接,我们普通的http请求如果用轮询的方式与服务端通讯就很...
    99+
    2023-02-16
    vue websocket websocket教程 vue websocket库
  • 带你一步步从零搭建一个Vue项目
    目录一、项目创建1、打开命令行窗口Cd /d进入想要创建项目的位置,输入vue create 项目名2、选择Vue23、运行该项目4、创建成功 二、路由的配置1、安装路由(...
    99+
    2024-04-02
  • 一文教你在现有Vue项目中嵌入Blazor项目
    目录准备流程Vue 项目创建流程Blazor项目创建流程运行效果准备流程 Vue 项目创建流程 1.使用Vue创建一个Demo项目 全部选择默认No即可 然后项目...
    99+
    2023-01-28
    Vue如何嵌入Blazor项目 Vue嵌入Blazor Vue Blazor
  • 22个Vue优化技巧(项目实用)
    目录代码优化 v-for 中使用 key v-if/v-else-if/v-else 中使用 key合理的选择 v-if 和 v-show 使用简单的 计算属性functional ...
    99+
    2024-04-02
  • Vue项目都有哪些
    这期内容当中小编将会给大家带来有关Vue项目都有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。我们知道,现在在面试时,如果在 github 或 其他开源网站上贡献过开源项目,往往能加分不少我最近也比较...
    99+
    2023-06-22
  • vue项目中js文件使用vue的this实例说明
    目录vue中其他.js文件使用this实例main.js中导出vuerequest.js中导入main.js并使用vue模板使用this问题vue中其他.js文件使用this实例 在...
    99+
    2022-12-08
    vue项目js文件 vue的this js文件使用vue的this
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作