Vue中实现动态路由

news/2024/7/10 1:10:35 标签: vue, javascript, vue.js, html

展示效果:
在这里插入图片描述

1、简单配置一个动态路由:
我们经常需要把某种模式匹配到的所有路由,全都映射到同个组件。例如,我们有一个展示商品的组件,对于所有 上架状态 各不相同的商品,都要使用这个组件来渲染。那么,我们可以在 html" title=vue>vue-router 的路由路径中使用“动态路径参数”(dynamic segment) 来达到这个效果:

html" title=javascript>javascript">const routes = [
  {
    path: "/",
    component: () => import("@/views/Main.html" title=vue>vue"),
    redirect: "/index",
    children: [
      {
        path: "/index/:id",
        component: () => import("@/views/Index.html" title=vue>vue"),
      },
    ],
  },
];

超级重点:一个“路径参数”使用冒号 : 标记。当匹配到一个路由时,参数值会被设置到 this.$route.params,可以在每个组件内使用。

2、template部分:

html"><div>
    <button @click="goPage(1)">查看上架</button>
    <button @click="goPage(2)">查看下架</button>
    <ul>
      <li v-for="(item,index) in showList" :key='index'>{{item.title}}	</li>
    </ul>
</div>

3、js部分:

html" title=javascript>javascript">export default {
  name: "",
  data() {
    return {
      state: 1, //默认显示上架
      list: [
        { title: "眼影", state: 1 }, //1为上架,2为下架
        { title: "口红", state: 2 },
        { title: "防晒霜", state: 1 },
      ],
    };
  },
  computed: {
    showList() {
      return this.list.filter((item) => {
        return item.state == this.state;
      });
    },
  },
  methods: {
    goPage(val) {
      this.state = val;
      this.$router.push({
        path: "/index2/" + val,
      });
    },
  },
};

http://www.niftyadmin.cn/n/1527272.html

相关文章

Js表达式和语句的区别

一定注意区分&#xff1a;js语句(代码) 与 js表达式 表达式&#xff1a; 一个表达式会产生一个值&#xff0c;可以放在任何一个需要值的地方 下面这些都是表达式&#xff1a; (1). a (2). ab (3). demo(1) (4). arr.map() (5). function test () {}语句(代码)&#xff1a; …

Vue开发环境搭建(实时更新,超级详细!)

文章目录1、开发环境搭建1.1、服务端环境搭建1.2、前端环境搭建1.2.1、后台管理系统&#xff08;PC端后台&#xff09;1.2.2、WebAPP应用&#xff08;移动端前台&#xff09;2、服务端接口开发2.1、服务端项目结构设计2.1.1、设计路由2.1.2、设计数据库模块3、后台管理系统开发…

React组件三大属性之state

一、理解 state 是组件对象最重要的属性&#xff0c;值是对象&#xff08;可以包含多个 key-value 的组合&#xff09;组件被称为“状态机”&#xff0c;通过更新组件的 state 来更新对应的页面显示&#xff08;重新渲染组件&#xff09; 效果展示&#xff1a; 简化后代码&am…

Java的for each 循环详解

文章目录1.for each 循环概述2.for each 循环处理一维数组3.for each 循环处理二维数组4.总结1.for each 循环概述 Java中有一种很强的循环结构&#xff0c;可以用来处理依次数组&#xff08;或其他元素集合&#xff09;中的每一个元素&#xff0c;而不必考虑指定下标值。 它的…

展开运算符的使用场景(...)

合并数组 let arr1 [1,3,5,7,9] let arr2 [2,4,6,8,10] console.log(...arr1); //展开一个数组 1 3 5 7 9 let arr3 [...arr1,...arr2]//连接数组[1,3,5,7,9,2,4,6,8,10]解构赋值 let a [1,2,3,4,5,6] let [c,...d] a console.log(c); // 1 console.log(d); // [2,3,4,5…

静态字段与静态方法

文章目录静态字段静态常量静态方法在初学Java时&#xff0c;我们都会发现在main方法前有一个叫做static的关键字&#xff0c;那它到底是什么意思呢&#xff1f;下面我们就一起了解了解它。静态字段 静态字段就是将一个字段&#xff08;通俗点说就是类中的变量或常量&#xff0…

call、bind、apply的区别

JavaScript中每个Function对象都有一个 call 方法和 apply 方法&#xff0c;而bind会返回一个新的函数 1、call方法调用一个函数, 其具有一个指定的this值和分别地提供的参数(参数的列表)。 注意&#xff1a;该方法的作用和 apply() 方法类似&#xff0c;只有一个区别&#xf…

Java常用关键字的作用

文章目录1.this关键字2.super关键字3.static 关键字4.final关键字5.abstract关键字6.import关键字1.this关键字 this关键字可以表示一个对象的隐式参数&#xff08;解决形参与类字段重名问题&#xff09;。使用this关键字引用属性和调用本类中的方法。在构造方法中&#xff0c…