首页 > 其他分享 >Vue动态组件、插槽、vue项目

Vue动态组件、插槽、vue项目

时间:2023-09-20 15:14:54浏览次数:50  
标签:vue 插槽 组件 good Vue template var home

一、动态组件

1、动态组件

# <component :is="who"></component>

# component标签的is属性等于组件名字,这里就会显示这个组件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
    <button @click="who='home'">首页</button>
    <button @click="who='good'">商品</button>
    <button @click="who='order'">订单</button>
    <hr>
    <component :is="who"></component>
</div>

</body>
<script>
    var home = {
        template: `
        <div>
            <h1>首页</h1>
        </div>
        `
    }
    var good = {
        template: `
        <div>
            <h1>商品页面</h1>
        </div>
        `
    }
    var order = {
        template: `
        <div>
            <h1>订单页面</h1>
        </div>
        `
    }

    var vm = new Vue({
        el: '#app',
        data: {
            who: 'home'
        },
        components: {
            home,
            good,
            order
        }
    })
</script>
</html>

2、效果:点什么弹出什么

 

3、保存输入的记录

<keep-alive>
<component :is="who"></component>
</keep-alive>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
    <button @click="who='home'">首页</button>
    <button @click="who='good'">商品</button>
    <button @click="who='order'">订单</button>
    <hr>
    <keep-alive>
    <component :is="who"></component>
    </keep-alive>
    
</div>
</body>
<script>

    var home = {
        template: `
        <div>
            <h1>首页</h1>
        </div>
        `
    }
    var good = {
        template: `
          <div>
          <h1>商品页面</h1>
          <p>搜索商品:<input type="text" v-model="name">
            <button @click="handleSearch">搜索</button>
          </p>
          </div>
        `,
        data() {
            return {
                name: ''
            }
        },
        methods: {
            handleSearch() {
                alert(this.name)
            }
        }
    }
    var order = {
        template: `
        <div>
            <h1>订单页面</h1>
        </div>
        `
    }

    var vm = new Vue({
        el: '#app',
        data: {
            who: 'home'
        },
        components: {
            home,
            good,
            order
        }
    })
    
</script>
</html>

二、插槽

 

三、vue项目

标签:vue,插槽,组件,good,Vue,template,var,home
From: https://www.cnblogs.com/dgp-zjz/p/17717345.html

相关文章

  • HBuilder打包简单项目(vue项目)APP的教材
    1.官网下载最新的Hbuilderx。2.准备好一个包含manifest.json的Vue项目,这时会生成manifest.json文件,打开进行详细设置,如图标、描述等详情设置,设置完成后,保存。3.首先去AppUploader找到开发证书(开发类型是带development的),点击P12下载到桌面。4.然后根据里面的BundleID新建一个描述......
  • 框架分析(3)-Vue.js
    (框架分析(3)-Vue.js)专栏介绍link主要对目前市面上常见的框架进行分析和总结,希望有兴趣的小伙伴们可以看一下,会持续更新的。希望各位可以监督我,我们一起学习进步。Vue.jsVue.js是一种用于构建用户界面的渐进式JavaScript框架。它是一个轻量级的框架,通过将视图层和状态层进行绑......
  • Vue js 3.0下 箭头函数的使用
    ......
  • vue项目-封装树形控件公用组件
    vue项目中,如h5端,第三方的树形选择器无法满足项目开发时,原生封装tree控件,通过判断是否存在子节点,循环递归组件完成树形封装,通过vue指令实现跨级传递数据或方法封装树形组件如下:1<template>2<divclass="tree-select-page">3<divclass="tree-item"v-for="item......
  • vue-动态组件、插槽
    动态组件方法一:笨方法-切换组件:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><scriptsrc="js/vue.js"></script></head><body>......
  • Vue-入门vue,及第一个vue程序
    一.初始Vue什么是vueVue(发音为/vjuː/,类似 view)是一款用于构建用户界面的JavaScript框架。它基于标准HTML、CSS和JavaScript构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面,Vue都可以胜任。vue的架构vue是可以独......
  • Vue+Node连接MySql搭建项目
    https://haoying.blog.csdn.net/article/details/123660641?spm=1001.2014.3001.5506https://www.jb51.net/article/277499.htm ......
  • vue-cli-service electron:serve zsh: command not
    vue-cli-serviceelectron:servezsh:commandnotfound:vue-cli-service尝试一进入项目清除缓存npmcacheclean--force重新安装npminstall尝试二npminstall-gelectron-buildernpminstall尝试三sudorm-rfnode_modulespackage-lock.json&&npminstall这......
  • Vue学习八:vue3
    一、vue3创建项目与介绍vue3创建项目与vue2使用vue-cli(基于webpack)脚手架不同,vue3使用create-vue(基于vite,更快)。创建项目的指令如下,首先看一下node的版本(node-v),16以上才支持。第一次创建项目会去下载create-vue比较慢,等一会就好了。npminitvue@latest然后关掉命令行,重新......
  • 14-Vue核心-列表渲染
    使用v-for做列表渲染我们可以用 v-for 指令基于一个数组来渲染一个列表,用于展示列表数据。语法:v-for="(item,index)initems" :key="xxx"或者 v-for="(item,index)ofitems" :key="xxx" 这里可以使用 of 替代 in 作为分隔符,因为它更接近JavaScript迭......