广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue组件非单文件组件的使用步骤
  • 673
分享到

vue组件非单文件组件的使用步骤

vue非单文件组件vue组件 2023-01-11 18:01:59 673人浏览 泡泡鱼
摘要

目录一,什么是组件二,非单文件组件2.1使用组件的三大步骤1.创建组件2.注册组件3.使用组件4.关于写法的注意点2.2组件的嵌套关于VueComponent 一,什么是组件 实现应

一,什么是组件

实现应用中局部功能代和资源的集合(简单来说就是将htmljsCSS,资源整合起来的一个小盒子)

理解:用来实现局部(特定)功能效果的代码集合

为什么:一个界面的功能很复杂

作用:复用编码,简化项目编码,提高运行效率

组件又分为非单文件组件和单文件组件,一般常用的就是单文件组件

二,非单文件组件

2.1使用组件的三大步骤

1.创建组件

(1)如何定义一个组件?

使用Vue.extend(options )创建,其中options和new Vue(options)时传 入的那个options儿乎一样。但是也略有不同,组件内不需要写el该属性,因为组件是直接服务于Vue实例的,所以并不需要在组件内写,并且组件写完之后不只是服务于一个地方,这里就体现了组件的复用性,所以组件不能写el。

2.注册组件

(2)如何注册组件?

1.局部注册:靠new Vue的时候传入components选项

2.全局注册:靠Vue.component( '组件名,组件)

3.使用组件

(3)如何使用组件

编写组件标签(使用组件)

下面是创建非单文件组件的全过程

(4)为什么data必须写成函数?

避免组件被复用时,数据存在引用关系。

注:使用template 可以配置组件结构。

<body>
    <div id="user">
        <!-- 第3步使用组件编写组件标签 -->
        <school></school>
        <br>
        <xuesheng></xuesheng>
    </div>
    <div class="user2">
        <hello></hello>
    </div>
</body>
<script>
    // 第一步:创建组件
    // 创建school组件
    const school = Vue.extend({
        template: `
        <div>
        <h2>学校名称:{{schoolName}}</h2>
        <h2>地址:{{address}}</h2>
        </div>
        `,
        // 组件里不用写el也不能写el,而且组件里必须写函数式
        data() {
            return {
                schoolName: '山鱼屋',
                address: 'Nanbian'
            }
        }
    })
    // 创建student组件
    const student = Vue.extend({
        template: `
        <div>
        <h2>学生名称:{{studentName}}</h2>
        <h2>年龄:{{age}}</h2>
        <button @click = 'showName'>点我出名</button>
        </div>
        `,
        // 组件里不用写el也不能写el,而且组件里必须写函数式
        data() {
            return {
                studentName: '山鱼屋',
                age: 20
            }
        },
        methods: {
            showName() {
                alert(this.studentName)
            }
        },
    })
    // 创建全局组件
    const hello = Vue.extend({
        template: `
        <div>
        <h2>你好呀!{{name}}</h2>
        </div>
        `,
        data() {
            return {
                name: 'shanyu',
            }
        }
    })
 
    // 注册全局的组件
    Vue.component('hello', hello);
 
    // 创建vm
    new Vue({
        el: '#user',
        // 第2步.注册组件
        components: {
            // 键值对形式(若键值对同名可简写)
            school,
            xuesheng: student
        }
    })
 
    new Vue({
        el: '.user2',
    })
</script>

4.关于写法的注意点

1.关于组件名

一个单词组成: 第一种写法( 首字母小写):+ school,第二种写法(首字母大写) School

多个单词组成: 第一种写法(kebab-case命 名):my-school,第二种写法(Came1Case命 名): MySchool (需要Vue脚手架支持)

注:

(1),组件名尽可能回避HTML中已有的元素名称,例如: h3、 H2都不行。

(2).可以使用name配置项指定组件在开发工具中呈现的名字。

2.关于组件标签

第1种写法: <school></school>

第2种写法: <school/> 备注:不用使用脚手架时,<schoo1/> 会导致后续组件不能渲染。

3.简写方式

const school = Vue.extend(options)可简写为: const school = {options}

2.2组件的嵌套

和俄罗斯套娃差不多,大件套小件(其实vm下面还有一个名为app的组件,他管理着所有的组件)

<body>
    <div id="user">
 
    </div>
    <script>
        // 创建room组件
        const room = {
            template:
                `<div>
        <h2>
        房间号{{num}}
        </h2>
        <h2>
        puwei:{{pnum}}
        </h2>
         </div>`,
            data() {
                return {
                    num: '222',
                    pnum: '8'
                }
            }
        }
        // 创建students组件
        const students = {
            template:
                `<div>
        <h2>
        姓名:{{name}}
        </h2>
        <h2>
        学号:{{studentnum}}
        </h2>
        <room></room>
         </div>`,
            data() {
                return {
                    name: '山鱼',
                    studentnum: '9657'
                }
            },
            components: {
                room
            }
        }
        // 创建school组件
        const school = {
            template:
                `<div>
        <h2>
        校名:{{sname}}
        </h2>
        <h2>
        地址:{{address}}
        </h2>
        <students></students>
         </div>`,
            data() {
                return {
                    sname: '山鱼学院',
                    address: '华山道9088号'
                }
            },
            components: {
                students
            }
        }
        const app = {
            template:
                `
        <school></school>
         </div>`,
            
            components: {
                school
            }
        }
        // 创建app组件
        new Vue({
            template:`<app></app>`,
            el: '#user',
            components: {
                app,
            }
        })
    </script>
</body>

关于VueComponent

  • school组件本质是一个 名为VueComponent的构造函数,且不是程序员定义的,是Vue.extend生成的。
  • 只需要写<school/>(自闭合标签)或<school></school>, Vue解析时会帮我们创建school组件的实例对象,也就是Vue帮我们执行的: new VueComponent(options)。
  • 每次调用Vue.extend,返回的都是一一个全新的VueComponent(虽然双胞胎特别像但是无论怎么来说也不是相同的一个人)
  • this指向

(1).组件配置中data函数、methods中的函数、watch中的函数、computed中的两数它们的this均 是[VueComponent实例对象]。

(2) new Vue(options )配置中data函数、methods中的函数、watch中的函数、computed中 的函数 它们的this均是[Vue实例对象]。

到此这篇关于vue组件 非单文件组件的使用步骤的文章就介绍到这了,更多相关vue非单文件组件内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: vue组件非单文件组件的使用步骤

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue组件非单文件组件的使用步骤
    目录一,什么是组件二,非单文件组件2.1使用组件的三大步骤1.创建组件2.注册组件3.使用组件4.关于写法的注意点2.2组件的嵌套关于VueComponent 一,什么是组件 实现应...
    99+
    2023-01-11
    vue非单文件组件 vue组件
  • 浅析Vue单文件组件与非单文件组件使用方法
    单文件组件:一个文件中只包含一个组件,后缀为.vue(常用) <template> <!-- html部分 --> <div> <p...
    99+
    2022-12-21
    Vue单文件组件 Vue非单文件组件
  • Vue中的非单文件组件如何使用
    本篇内容介绍了“Vue中的非单文件组件如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一,什么是组件实现应用中局部功能代和资源的集合(...
    99+
    2023-07-05
  • 如何使用单文件组件.vue
    小编给大家分享一下如何使用单文件组件.vue,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!vuejs 自定义了一种.vue文件,...
    99+
    2022-10-19
  • vue如何使用多文件单文件组件
    这篇文章主要为大家展示了“vue如何使用多文件单文件组件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue如何使用多文件单文件组件”这篇文章吧。多文件单文件组件这是 SFC 的一个鲜为人知的功...
    99+
    2023-06-27
  • 轻松学Vue组件之单文件组件
    目录前言一,创建单文件组件二,关于不同版本的Vue三,vue. config. js配置文件四,ref属性五,配置项props六,mixin(混入)七,插件八,scoped总结前言 ...
    99+
    2023-03-08
    vue 单文件 vue单文件组件 vue单文件组件如何使用
  • vue单文件组件的实现
    最近翻阅了一下vue。发觉有一个单文件组件之前基本忽视掉了。vue.js中的单文件组件允许在一个文件中定义一个组件的所有内容。也就是说,一个页面或者是一个组件,我们想将他们捆绑在一起...
    99+
    2022-11-12
  • Vue组件之单文件组件怎么创建
    这篇“Vue组件之单文件组件怎么创建”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue组件之单文件组件怎么创建”文章吧。一...
    99+
    2023-07-05
  • Vue项目中封装组件的简单步骤记录
    目录前言 如何封装一个Toast组件 使用案例 具体实现 总结前言 随着业务的发展 功能性开发 已经无法满足我们对于前端的需求,这一篇主要带大家体验一下如何开发一套属于自己的组件库...
    99+
    2022-11-12
  • Vue中一个组件调用其他组件的方法详解(非父子组件)
    目录前言方式一:引用式方式二:vuex1、src/store/index.js2、被使用组件- A 页面(组件)3、使用触发页面-B 页面(组件)方式三:使用事件总线eventBus...
    99+
    2022-11-13
    vue调用其他组件方法 vue组件调用 vue组件之间调用
  • Vue中单文件组件怎么创建
    本篇内容介绍了“Vue中单文件组件怎么创建”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一,创建单文件组件切换到你想要创建该文件的目录下,我...
    99+
    2023-07-05
  • Vue动态组件与异步组件怎么使用
    这篇“Vue动态组件与异步组件怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue动态组件与异步组件怎么使用”文章吧...
    99+
    2023-07-05
  • Vue封装通用table组件的详细步骤
    本篇内容介绍了“Vue封装通用table组件的详细步骤”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录前言为什么需要封装table组件?定...
    99+
    2023-06-20
  • vue封装组件js版基本步骤
    目录什么是组件化:Vue组件化思想一.注册组件的基本步骤1.创建组件构造器c-input2.注册组件3.父组件使用二.丰富组件三.父子组件间的通讯1.父---->子通信 [pr...
    99+
    2022-11-13
  • jquery中如何加载单文件vue组件
    这篇文章主要介绍了jquery中如何加载单文件vue组件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下   ...
    99+
    2022-10-19
  • Vue如何实现一个单文件组件
    这篇文章主要介绍了Vue如何实现一个单文件组件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue如何实现一个单文件组件文章都会有所收获,下面我们一起来看看吧。初识单文件组件还是利用工欲善其事必先利其器 中的源...
    99+
    2023-07-04
  • Vue浅析讲解动态组件与缓存组件及异步组件的使用
    目录1.什么是动态组件2.如何实现动态组件渲染3.如何实现缓存组件4.异步组件1.什么是动态组件 当我们希望页面中的某个地方,在不同组件之间进行动态切换,这时候除了条件渲染,还可以使...
    99+
    2022-11-13
  • Vue组件中的父子组件使用
    目录Vue组件中的父子组件父组件向子组件传值子组件向父组件传值Vue父子组件的生命周期总结Vue组件中的父子组件 父组件向子组件传值 父组件通过属性绑定(v-bind:)的形式, 把...
    99+
    2023-01-28
    Vue组件 Vue父子组件 Vue父子组件使用
  • 使用vue组件封装共用的组件
    目录这里提供两种vue封装共用组件的方法方法一方法二vue封装公共组件调用方法这里提供两种vue封装共用组件的方法 方法一 main.js中 import ListItem from...
    99+
    2022-11-13
  • Vue使用v-model封装el-pagination组件的详细步骤
    这篇文章主要介绍“Vue使用v-model封装el-pagination组件的详细步骤”,在日常操作中,相信很多人在Vue使用v-model封装el-pagination组件的详细步骤问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作