Vue中component标签的了解

1.component标签是什么?

component 标签是Vue框架自定义的标签,它的用途是可以通过动态绑定is属性来动态渲染组件。

2.如何实现动态渲染组件。

(eg:点击图标动态切换图标样式)

<el-icon style="margin-right:10px" @click="changeIcon">
        <component :is="LayOutSettingStore.fold ? 'Fold' : 'Expand'"></component>
</el-icon>
//点击图标的方法
const changeIcon = () => {
    //图标进行切换
    LayOutSettingStore.fold = !LayOutSettingStore.fold
}

注:LayOutSettingStore为store的某个仓库里面存储了fold的值(true,false)。

依次可以一些自定义组件的动态渲染。

<template>
  <div>
    <div class="box" @click="change">
        <component :is="show"></component>
    </div>
  </div>
</template>
 
<script>
import A from '@/components/A.vue'
import B from '@/components/B.vue'
 
export default {
  data() {
    return {
      // show 表示要展示的组件的名字
      show: 'A'
    }
  },
  components: {
    A,
    B
  }
</script>
 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue ,render 函数是一个用来创建虚拟 DOM 的函数。通过 render 函数,我们可以手动地创建一个虚拟 DOM 树,然后将其渲染到页面上。 在使用 render 函数之前,需要先了解 Vue 的虚拟 DOM。虚拟 DOM 是一个 JavaScript 对象,它描述了真实 DOM 树的结构和属性。使用虚拟 DOM 可以提高性能,降低真实 DOM 操作的代价。 下面是一个简单的使用 render 函数的例子: ```javascript Vue.component('my-component', { render: function (createElement) { return createElement('h1', 'Hello World') } }) ``` 在这个例子,我们定义了一个名为 my-component 的组件,并在其定义了一个 render 函数。这个函数接收一个 createElement 函数作为参数,用来创建虚拟 DOM 对象。在这个例子,我们使用 createElement 函数创建了一个 h1 标签并设置其内容为 "Hello World"。 除了 createElement 函数,render 函数还可以返回一个包含多个虚拟 DOM 对象的数组,或者返回一个嵌套的虚拟 DOM 对象。 ```javascript Vue.component('my-component', { render: function (createElement) { return createElement('div', [ createElement('h1', 'Hello World'), createElement('p', 'This is a paragraph') ]) } }) ``` 在这个例子,我们创建了一个包含两个子节点的 div 元素,第一个子节点是一个 h1 标签,第二个子节点是一个 p 标签。 除了 createElement 函数,render 函数还可以接收一个 context 对象作为参数,用来访问组件的状态和属性。 ```javascript Vue.component('my-component', { props: ['message'], render: function (createElement, context) { return createElement('h1', context.props.message) } }) ``` 在这个例子,我们定义了一个名为 message 的属性,并在 render 函数使用了它。使用 context.props 可以访问组件的属性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值