VUE题目

本文探讨了Vue.js的相关主题,包括组件间的值传递(父组件到子组件,子组件到父组件)、Vue的生命周期八个阶段及其应用、Vue的优势与不足、路由的声明式与编程式跳转、自定义组件的创建、按需加载的实现方法、MVVM模式的原理、v-model的使用以及自定义指令的钩子函数。内容详尽,覆盖了Vue开发中的关键知识点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

VUE题目

1,组件传值

  • 父组件与子组件传值
//父组件通过标签上面定义传值
<tempalte>
    <Main : obj = "data"></Main>
</template>

<script>
    //引入子组件
    import Main from "./Main"
    export default{
        name : "father",
        data(){
            return{
                data : "向子组件传值"
            }
        }
        //初始化组件
        components : {
            Main
        }
    }
</script>

<template>
    <div>{{data}}</div>
</tempalte>

<script>
    export dafault{
        name : "son",
        props : ["data"]
    }
</script>
  • 子组件向父组件传值
<template>
    <div v-on : click = "events"></div>
</template>

<script>
    //引入子组件
    import Main from "./Main"

    export default{
        method : {
            events : function(){
            }
        }
    }
</script>

<template>
    <div>{{data}}</div>
</tempalte>

<script>
    export dafault{
        name : "son",
        //接受父组件传值
        props : ["data"]
    }
</script>

2,vue生命周期的理解

总共分为8个阶段,创建前后,载入前后,更新前后,销毁前后

  • 创建前后:在beforeCreate阶段,vue实例的挂载对象el和数据对象data都为underfined,还未初始化。在created阶段,vue实例的数据对象data有了,el还没有
  • 载入前后:在beforeMount阶段,vue实例的$el和data都初始化了,但还是挂载之前为虚拟的dom节点,data.message还未替换。在mounted阶段,vue实例挂载完成,data.message成功渲染
  • 更新前后: 当data变化时,会触发beforeUpdate和update方法
  • 销毁前后:在执行destory方法后,对data的变化不会再触发周期函数,说明此时vue实例已经结婚粗了事件监听以及和dom的绑定,但是dom结构依然存在

3,vue的优缺点

  • 优点
    • 低耦合:视图可以独立于Model变化和修改,一个ViewModel可以绑定到不同的View上,当View变化的时候Model可以不变,当Model变换的时候View也可以不变
    • 可重用性:你可以把一些视图逻辑放在一个ViewModel里面,让很多view重用这段视图逻辑
    • 独立开发:开发人员可以专注与业务逻辑和数据的开发,设计人员可以专注与页面设计,使用Expression Blend可以很懂以设计页面并生成xml代码
    • 页面并不好测试,但是现在测试可以针对ViewModel来写
  • 缺点
    • 暂无

4,路由跳转

  • 声明式(标签跳转):<router-link : to = "index">
  • 编程式(js跳转) : router.push('index')

5,创建自己的组件

  • 在components目录新建你的组件文件(indexPage.vue),script一定要export default{}
  • 在需要用的页面(组件)中导入:import indexPage from ‘@/components/indexPage.vue’
  • 注入到vue的子组件的components属性上面,components:{indexPage}
  • 在template视图view中使用

6,vue如何实现按需加载配合webpack设置

  • webpack中提供了require.ensure()来实现按需加载。将引入路由由import改为const
  • 不进行页面按需加载引入方式:import home from '../../common/home.vue'
  • 进行页面按需加载的引入方式: const home = r => require.ensure([],() => r(require('../../common/home.vue')))

7,MVVM模式

MVVM全称是Model-View-ViewModel;vue是以数据为驱动的,一旦创建dom和数据就保持同步,每当数据发生变化时,dom也会变化。DOMListeners和DataBindings是实现双向绑定的关键。DOMListeners监听页面所有View层DOM元素的变化,当发生变化,Model层的数据随之变化;DataBindings监听Model层的数据,当数据发生变化,View层的DOM元素随之变化。

8,v-model是什么?vue中标签则么绑定事件?

v-model这个指令只能用在表单元素上,可以用它进行双向绑定。绑事件:<input @click = doLog()/>

9,vue中自定义指令的方法有哪些?它有哪些钩子函数?还有哪些钩子函数参数?

  • 全局指令定义:在vue对象的directive方法里面有两个参数,一个是指令名称,一个是函数。组件内定义指令(局部定义指令):directives
  • 钩子函数:bind(绑定事件触发),inserted(节点插入的时候触发),update(组件内相关更新),componentUpdated(被绑定元素所在模板完成一次更新周期时调用),unbind(只调用一次,指令与元素解绑时调用)
  • 钩子函数:el,binding

10,说出四种vue当中的指令和它的用法

v-if:判断是否隐藏;v-for:数据循环出来;v-bind:class:绑定一个属性;v-model:实现双向绑定

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值