iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >vue框架render方法怎么替换template
  • 438
分享到

vue框架render方法怎么替换template

2023-06-30 00:06:01 438人浏览 泡泡鱼
摘要

本篇内容介绍了“Vue框架render方法怎么替换template”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!render方法替换temp

本篇内容介绍了“Vue框架render方法怎么替换template”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

    render方法替换template

    使用template属性创建组件模板

    import Vue from 'vue' const Item = Vue.component('Item', {  template: `<div>                <h3>子组件</h3>                <slot></slot>              </div>`})const app = new Vue({  el: '#app',  template: `<div ref="myDiv">              <item ref="item">                <p ref="p">this is a slot</p>              </item>            </div>`, data: {    count: 0  },  components: {    Item  }})

    把父组件的template创建换成使用render方法创建

    const app = new Vue({  el: '#app',  data: {    count: 0  },  render (createElement) {    return createElement(      'div', {        ref: 'myDiv',        // domProps: {        //    innerhtml: '<span>注意:添加该属性会把后面的子节点覆盖</span>'        // },        attrs: {            id: 'test-id',            title: 'test-title'          }      },      [        createElement('item', {          ref: 'item'        },        [          createElement('p', {            ref: 'p'          }, 'this is a slot')        ])      ])  },  components: {    Item  }})

    如上面更改后的代码,render方法内传入createElement函数,接下来使用createElement函数来创建节点。

    函数方法格式 createElement('节点或组件名称', {节点属性}, [子节点])

    先创建一个div元素, 内部包含ref='myDiv'的属性, 使用数组存放其子节点

    数组内子节点是 item组件, 属性是 ref="item", 其子节点为p, 依次类推逐层创建子节点, 最后的文本节点使用字符串或变量即可,无需再用[]包含。

    template和render用法对比

    App.vue(主入口文件)

    <template>    <ParentCmp /></template>
    <script>import ParentCmp from './ParentCmp';export default {    components: {        ParentCmp    },}</script>

    vue框架render方法怎么替换template

    ParentCmp.vue (template写法)

    <template>    <div>        <h2>我是parent组件</h2>        <hr />        <User  text="我是传入的文本">            <template v-slot:header>                <p>这是名字为header的slot</p>            </template>            <p>这是填充默认slot数据</p>            <template v-slot:footer>                <p>这是名字为footer的slot</p>            </template>            <template v-slot:item="props">                <p>名字为item的作用域插槽。显示数据{{props}}</p>            </template>            <template v-slot:list="props">                <p>名字为list的作用域插槽。显示数据{{props}}</p>            </template>        </User>    </div></template>
    <script>import User from './User'export default {    components: {        User    },    props: {},    data() {        return {}    },    methods: {}}</script>

    User.vue (template写法)

    <template>    <div>        <h5>{{text}}</h5>        <slot name="header"></slot>        <slot>默认的user slot</slot>        <slot name="footer"></slot>        <slot name="item" v-bind="item">item作用域插槽,展示姓名 {{item.name}}</slot>        <slot name="list" v-bind="{list}">list作用域插槽</slot>    </div></template>
    <script>export default {    props: {        text: String    },    data() {        return {            item: {                name: '张三',                age: 28,                works: '前端后端、设计、产品'            },            list: ['a','b','c']        }    }}</script>

    ParentCmp.js (render写法)

    import User from './User'export default {    props: {},    data() {        return {}    },    methods: {},    render(h) {        return h('div',[            h('h2', '我是parent组件'),            h('hr'),            h(User, {                props: {                    text: '我是传入的文本'                },                style: {                    background: '#ccc'                },                // 作用域插槽写在scopedSlots里                scopedSlots: {                    item: props => h('p', `名字为item的作用域插槽。显示数据${JSON.stringify(props)}`),                    list: props => h('p', `名字为list的作用域插槽。显示数据${jsON.stringify(props)}`)                }            },             // 非作用域插槽写数组里            [                h('p', {slot: 'header'}, '这是名字为header的slot'),                h('p', '这是填充默认slot数据'),                h('p', {slot: 'footer'}, '这是名字为footer的slot'),            ])        ]);        // jxs写法            }}

    User.js (render写法)

    export default {    props: {        text: String    },    data () {        return {            item: {                name: '张三',                age: 28,                works: '前端、后端、设计、产品'            },            list: ['a', 'b', 'c']        }    },    methods: {        getSlot (name, data) {            if (this.$scopedSlots[name]) {                return this.$scopedSlots[name](data);            } else if (this.$slots[name]) {                return this.$slots[name];            }                return undefined;        },    },    render (h) {        return h('div', [            h('h5', this.text),            this.getSlot('header'),            this.$slots.default,            this.getSlot('footer'),            this.getSlot('item', this.item),            this.getSlot('list', {list: this.list}),        ])        // jxs写法            }}

    “vue框架render方法怎么替换template”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

    --结束END--

    本文标题: vue框架render方法怎么替换template

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

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

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

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

    下载Word文档
    猜你喜欢
    • vue框架render方法怎么替换template
      本篇内容介绍了“vue框架render方法怎么替换template”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!render方法替换temp...
      99+
      2023-06-30
    • vue框架render方法如何替换template
      目录render方法替换template使用template属性创建组件模板把父组件的template创建换成使用render方法创建template和render用法对比rende...
      99+
      2024-04-02
    • vue怎么替换空格
      本教程操作环境:Windows10系统、Vue 3版、Dell G3电脑。vue怎么替换空格?vue:copy功能中替换字符串中的空格,换行符\r\n或\n去除一:复制功能export default { methods: { copy(v...
      99+
      2023-05-14
      Vue 空格
    • 详解vue中v-for和v-if一起使用的替代方法template
      目录版本目标效果说明解决方法核心代码片段Car.vuevue中v-for和v-if一起使用的替代方法template 版本 vue 2.9.6element-ui: 2.15.6 目...
      99+
      2024-04-02
    • vue怎么全局替换div值
      本文小编为大家详细介绍“vue怎么全局替换div值”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue怎么全局替换div值”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。步骤一:创建一个 Vue 实例首先,我们需...
      99+
      2023-07-06
    • Vue框架怎么使用
      本文小编为大家详细介绍“Vue框架怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue框架怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Vue 的使用步骤创建一个标签,用于数据的填充引入 Vue...
      99+
      2023-06-27
    • php怎么替换文件名(三种方法)
      PHP 是一种流行的服务器端脚本语言,常用于 Web 开发。在 PHP 开发中,经常需要对文件进行操作,其中一项常见需求是替换文件名。替换文件名可以帮助我们更好地组织文件结构,便于管理和维护。在很多情况下,我们需要将文件名中的某些特定内容或...
      99+
      2023-05-14
    • 怎么在sql语句中替换Not In方法
      本篇内容主要讲解“怎么在sql语句中替换Not In方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么在sql语句中替换Not In方法”吧!目的: 替换N...
      99+
      2024-04-02
    • web图片替换的方法是什么
      这篇文章主要介绍“web图片替换的方法是什么”,在日常操作中,相信很多人在web图片替换的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”web图片替换的方法是什么”...
      99+
      2024-04-02
    • javascript替换网址的方法是什么
      这篇“javascript替换网址的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“javascript替换网址的方...
      99+
      2023-07-06
    • python一键替换的方法是什么
      Python中可以使用`str.replace()`方法来实现一键替换。该方法用于将字符串中的指定子字符串替换为另一个子字符串。其语...
      99+
      2023-08-31
      python
    • php循环替换的方法是什么
      这篇文章主要介绍“php循环替换的方法是什么”,在日常操作中,相信很多人在php循环替换的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php循环替换的方法是什么”的疑惑有所帮助!接下来,请跟着小编...
      99+
      2023-06-25
    • java中怎么用replace方法替换指定位置
      在Java中,可以使用`replace`方法来替换指定位置的字符。`replace`方法有两个参数,第一个参数是要替换的起始位置,第...
      99+
      2023-10-25
      java
    • html正则替换的方法是什么
      本文小编为大家详细介绍“html正则替换的方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“html正则替换的方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。HTML正则替换HTML是现代网页设计...
      99+
      2023-07-06
    • linux字符串替换的方法是什么
      在Linux中,你可以使用多个命令和工具来进行字符串替换,以下是其中一些常见的方法:1. 使用sed命令:sed是一种流编辑器,可以...
      99+
      2023-09-16
      linux
    • sqlserver字符串替换的方法是什么
      在SQL Server中,可以使用REPLACE函数来替换字符串。 REPLACE函数的语法如下: REPLACE(string_e...
      99+
      2024-04-09
      sqlserver
    • mysql替换字符串的方法是什么
      在 MySQL 中替换字符串的方法可以使用 REPLACE 函数。REPLACE 函数接受三个参数,第一个参数是要进行替换的...
      99+
      2024-04-09
      mysql
    • php怎么替换文中标点符号(方法总结)
      PHP语言在web开发中是非常常用的一种编程语言,它具有开源、易学易懂、高效稳定等特点。在PHP的使用过程中,有时候我们需要将文中标点符号进行一些替换,以便更好地展示文本内容。接下来我们就来介绍一下PHP替换文中标点符号的方法和应用。一、P...
      99+
      2023-05-14
      php
    • plsql替换字符串的方法是什么
      在PL/SQL中,可以使用REPLACE函数来替换字符串。REPLACE函数接受三个参数:原始字符串、要替换的子字符串、替换后的子字...
      99+
      2024-04-09
      plsql
    • Golang中的替换操作方法是什么
      本篇内容介绍了“Golang中的替换操作方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Golang的字符串动态变量Golang 的...
      99+
      2023-07-05
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作