创新实训——005

本篇文章介绍Vue.js(以下简称vue)的组件化特性,非常好用

组件化

为什么当时我选择了vue,因为在我接触为数不多的前端框架中,vue的组件化特性惊艳到了我,组件化的意思就是指页面是可以由一个个组件拼接起来的。
比如所有页面都会有一个导航栏,那么就可以将该导航栏单独作为一个组件,然后在App.vue中引入即可,导航栏作为一个单独组件navMenu.vue,代码如下:

<!--导航栏组件-->
<template>
    <el-menu
      :default-active="$route.path"
      class="el-menu-demo"
      mode="horizontal"
      @select="handleSelect"
      background-color="#1e1e1e"
      text-color="#fff"
      active-text-color="#ffd04b"
      :router='true'>
      <el-menu-item index="/">总体概况</el-menu-item>
      <el-menu-item index="/statusPage">服务状态</el-menu-item>
      <el-menu-item index="/securePage">安全审计</el-menu-item>
      <el-menu-item index="/ipPage">IP详情</el-menu-item>
    </el-menu>
</template>
<script>
  export default {
    data() {
      return {
      };
    },
    methods: {
      handleSelect(key, keyPath) {
        console.log(key, keyPath);
      }
    }
  }
</script>

然后在App.vue中注册引入,如下所示:

<template>
  <div>
    <navMenu/>
    <router-view/>
  </div>
</template>

<script>
import navMenu from './components/PageComponents/navMenu'
export default {
  name: 'App',
  components:{
    navMenu
  }
}
</script>

然后这样在路由中的所有页面顶部都会有一个导航栏。

父组件向子组件传值

vue中每个页面都可以看成是一个组件,然后组件中可以嵌套组件,因此就可以分为父组件与子组件,然后父子组件中可以相互传值,而且并不复杂,这一点我感觉非常好,下面就先介绍一下父组件如何向子组件传值。
假设父组件为A,子组件为B,首先子组件B中需要在props中定义从父组件传过来的值,类似这样:

<script>
  export default {
    props:{
        urlType:{type:String,default:"all"},
        logPara:{type:String,default:"----"}
    },
    data() {
      return {
      }
    }
  }
</script>

urlType和logPara就是父组件向子组件要传的值,需要事先定义好类型和默认值,而且在子组件中不要改这两个值(因为父组件相当于级别高一些),这两个值可以用this引用
然后在父组件A中<B :logPara="logPara" :urlType="urlType"></B>这样传值,logPara和urlType会实时反馈给子组件B,子组件可以用watch来监视这两个值的变化,从而达成相关功能使用,watch之后再讲,父组件向子组件传值基本上就是这样,下面介绍子组件向父组件传值。

子组件向父组件传值

假设父组件为A,子组件为B,B向A传值,首先B中在传值的地方例如需要这样做:this.$emit('func',this.logPara)
目前就我的使用情况来说,传的值必须在data的return中定义,然后func要与父组件相对应
父组件中为<B @func="getDataFromChild"></B>,然后在methods中定义getDataFromChild:function(data)
此时若子组件有传过来的值,父组件就可以接收data。
如果子组件要传给父组件多个值,可以这样,子组件:this.$emit('func',this.logPara1,this.logPara2…),父组件:<B @func="getDataFromChild(arguments)"></B>getDataFromChild:function(data),此时父组件接收的值data为一个数组,可用下标如data[0]形式调用对应的参数。
关于Vue.js的组件化特性介绍到此,不得不说,确实好用,因为这样组件可以复用!很多页面可能都是由几个相同的组件构成!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计是高等教育阶段学生在完成学业前所进行的一项重要学术任务,旨在检验学生通过学习所获得的知识、技能以及对特定领域的深刻理解能力。这项任务通常要求学生运用所学专业知识,通过独立研究和创新,完成一个实际问题的解决方案或者开展一项有价值的项目。 首先,毕业设计的选择通常由学生根据个人兴趣、专业方向以及实际需求来确定。学生需要在导师的指导下明确研究目标、问题陈述,确立研究的范围和深度。毕业设计可以包括文献综述、需求分析、方案设计、实施与测试等多个阶段,以确保整个过程的科学性和系统性。 其次,毕业设计的完成通常需要学生具备一定的独立思考和解决问题的能力。在研究过程中,学生可能需要采用各种研究方法,如实验、调查、案例分析等,以获取必要的数据和信息。通过这些活动,学生能够培养扎实的专业技能,提升解决实际问题的实际能力。 第三,毕业设计的撰写是整个过程的重要组成部分。学生需要将研究过程、方法、结果以及结论等详细记录在毕业论文中,以展示其研究的全貌和成果。同时,撰写毕业设计还有助于提高学生的学术写作水平,培养清晰、逻辑的表达能力。 最后,毕业设计的评价通常由导师和相关专业人士进行。评价标准包括研究的创新性、实用性、方法的科学性以及论文的质量等方面。学生在毕业设计中获得的成绩也将直接影响其最终的学业成绩和学位授予。 总的来说,毕业设计是高等教育中的一项重要环节,通过此过程,学生不仅能够巩固所学知识,还能培养独立思考和解决问题的能力,为将来的职业发展奠定坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值