首页 > 其他分享 >面试题vue组件的相关问题

面试题vue组件的相关问题

时间:2022-10-21 15:01:12浏览次数:83  
标签:面试题 Vue component vue 注册 组件 构造函数

面试题vue组件的相关问题

什么是组件

  • 什么是组件:组件 (Component) 是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装可重用的代码。一个页面可以由多个组件构成,一个组件可用于多个页面
    • vue框架中除了App.vue这个根组件外其余每个单个(.vue后缀的)页面就可以称之为一个组件 。
    • 组件是需要注册使用的,在router=>index.js中每个跟在component后面的就是一个组件

怎么创建一个组件

  • 怎么创建一个组件:

    // 1.使用 Vue.extend() 方法创建一个组件的构造函数,该构造函数继承了 Vue,(也就是说,我们创建的构造函数是 Vue 的子类)
     const GlobalComponent = Vue.extend({
                data: function () {
                    return {
                        message: '组件的数据'
                    }
                },
                template: '<div><h1>{{message}}</h1></div>'
            });
    

怎么注册一个组件

  • 组件用法:组件需要注册后才可以使用,注册有全局注册和局部注册两种方式。

    • 使用 Vue.component()来注册
      
    // 2. 将 GlobalComponent 组件注册成全局组件
            Vue.component('global-component', GlobalComponent)
    

怎么在vue框架中注册使用组件

分全局注册和局部注册

  • vue框架中怎么全局注册组件

    //在main.js文件夹中引入组件
    import GlobalComponent from  './GlobalComponent'
    //注册
     Vue.component('global-component', GlobalComponent)
    //在页面种使用
    <global-component></global-component>
    
  • vue框架中怎么局部注册组件

    //在需要用到的vue页面中中引入
    import LocalComponent from  './LocalComponent'
    //注册 找到data函数同级下面写上components对象
    data()return{
        
    },
      components:{
          LocalComponent,   //这里用es6简写语法 
      }
    //在页面种使用
     <local-component></local-component>
    

vue框架中路由管理中组件怎么使用:

  • 创建组件的构造函数

    	const Home = {
    			name: 'home',
    			template: '<div><h1>站点主页</h1></div>'
    		}
    
    		const News = {
    			name: 'news',
    			template: '<div><h1>新闻中心</h1></div>'
    		}
    
    		const About = {
    			name: 'about',
    			template: '<div><h1>关于我们</h1></div>'
    		}
    
    		const NotFound = {
    			name: 'not-found',
    			template: '<div><h1>404</h1></div>'
    		}
    

  • 创建路由(路由表),并配置路由信息

    //路由对象中的 component 属性的值可以是通过 Vue.extend() 创建的组件构造函数,也可以是创建组件构造函数时传入的对象
    const routes = [
    			{
    				path: '/',
    				component: Home
    			},
    			{
    				path: '/news',
    				component: News
    			},
    			{
    				path: '/about',
    				component: About
    			},
    			{
    				path: '*',
    				component: NotFound
    			}
    		]
    

这样子对比是不是很直观,也很明确

更详细链接

标签:面试题,Vue,component,vue,注册,组件,构造函数
From: https://www.cnblogs.com/wszzj/p/16813478.html

相关文章

  • vue中执行异步函数async和await的用法
    一、async基础用法async函数,会返回一个promise对象,可以用.then调用async函数中return的结果asyncfunctionhelloAsync(){return"返回结果";}con......
  • 只需三步 带你了解 Vue事件总线(EventBus)
    第一步:直接在项目中的 main.js 初始化 EventBus ://main.jsVue.prototype.$EventBus=newVue()第二步:找到两个页面A和B,A向B发送事件<!--A.vue--><templat......
  • Vue深度监听
    1.监听一般写法watch:{ a(newVal,oldVal){ console.log(newVal); }}2.当监听对象属性时watch:{ "obj.name"(newVal,oldVal){ console.log(newVal); }}3.......
  • Vue3 SFC 和 TSX 方式自定义组件实现 v-model
    1v-model1.1理解v-modelv-model是vue3中的一个内置指令,很多表单元素都可以使用这个属性,如input、checkbox等,咱可以在自定义组件中实现v-model。v-model本质上......
  • 【总结】前端业务组件库怎么样做到极致?
    对于前端同学来说,业务组件库肯定不陌生,很多前端团队都会选择建设业务组件库来解决业务组件跨项目复用的问题同时统一代码实现,统一代码质量从而提高业务的开发效率。但是我......
  • ant.design-vue 级联多选组件
    取自doit-ui-web ,基于ant.design封装的功能组件,实现多选级联样式表功能,根据自身情况引入到自己的项目中 <template><divclass="gb-ant-select-multiple-c......
  • APICloud AVM框架 数字滚动组件
    AVM(Application-View-Model)前端组件化开发模式基于标准WebComponents组件化思想,提供包含虚拟DOM和Runtime的编程框架avm.js以及多端统一编译工具,完全兼容WebComponents标......
  • vue 处理打包后加载慢的问题
    在开发项目时引入过多的插件时,容易导致项目打包后chunk-vendors.js文件过大,导致浏览器加载慢的问题,目前有两种解决方式方式一:由于:chunk-vendors文件过大、js没有压缩、服......
  • vue项目封装api接口
    前言:vue的axios基于promise的http库,可以运行在浏览器和node环境中一:api封装文件request..jsimport'axios'from'axios'//引用axios插件 npminstallaxios--s//创......
  • 父组件为子组件传递数据(静态数据)
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><metahttp-e......