• 9.16总结


    一、数据库字段名与实体类名不一样导致vue前端接受不到数据

    1.通过别名解决属性名和表字段不一致的情况

    @Select("select id,title,price,old_price oldPrice,sale_count saleCount,url from product") List select();

    2.通过Result注解解决属性名和表字段不一致的情况

    1. @Select("select *from product")
    2. @Result(column = "old_price",property = "oldPrice")
    3. @Result(column = "sale_count",property = "saleCount")
    4. List select();

    3.配置自动识别命名规范的差异

             mybatis.configuration.map-underscore-to-camel-case=true

    二、vue判断是否包含

    //判断在地址栏中是否包含

    wd if (location.search.indexOf("wd") != -1)  //-1 表示不包含。

    三、菜单栏

             @select="handleSelect" 下拉列表点击时调用方法handleSuessass

    1. "width: 1200px;margin: 0 auto"
    2. :default-active="activeIndex" class="el-menu-demo"
    3. background-color="#82c8ec"
    4. text-color="#fff"
    5. active-text-color="#fff"
    6. mode="horizontal" @select="handleSelect">
    7. <el-menu-item v-for="c in categoryArr" :index="c.id">{{c.name}}el-menu-item>

     @select="handleSelect"

    四、split("=")[1] 对接受地址栏的信息截取

    let id = location.search.split("=")[1];

    split()方法将String分为有序的子字符串列表,将这些子字符串放入数组中,然后返回数组。[ x ]通过寻找下标,调用参数。

    //created方法是Vue对象初始化过程中调用的方法,也就是在此方法中Vue对象,还没有创建完成, 所以不能通过v访问(实例化的Vue对象还没有赋值给v变量)  对象初始化完成之前想访问Vue对象 可以通过this来访问: this.activeIndex = id;

    五、页面不做处理跳转至其他页面处理

            当点击事件发生时,不做处理,而是获取id传到其他页面 location.href="/result.html?id=" + key;

    1. methods: {
    2. handleSelect(key, keyPath) {
    3. console.log(key, keyPath);
    4. //跳转到显示结果的页面 key代表分类id
    5. location.href="/result.html?id=" + key;
    6. },
    7. search() {
    8. //跳转到显示结果的页面 wd代表搜索内容名称
    9. location.href="/result.html?wd="+v.wd;
    10. }
    11. },

             跳转到此页面时,自动处理,获取地址栏的内容,判断是wd还是id,分别调用不同请求方法。

    1. let url;
    2. //判断在地址栏中是否包含wd
    3. if (location.search.indexOf("wd") != -1) {
    4. url = "/product/selectByWd" + location.search;
    5. } else {
    6. //分类列表
    7. url = "/product/selectByCid" + location.search;
    8. }
    9. axios.get(url).then(function (response) {
    10. v.productArr = response.data;
    11. })

    六 、通过session对浏览量进行控制

    1. @RequestMapping("/product/updatecount")
    2. public void updatecount(int id, HttpSession session) {
    3. //从会话中获取当前id相关信息
    4. String info = (String) session.getAttribute("view" + id);
    5. //如果没有获取到,代表没有浏览过
    6. if (info == null) {
    7. //让浏览加1
    8. mapper.updatecount(id);
    9. //把当前商品的id保存到会话对象中
    10. session.setAttribute("view" + id, "isVisible");
    11. }
    12. }

    七、element-ui中的自带的参数和方法最好在控制台输出看看里面有什么

    eg:

    categoryDelete(scope.$index, scope.row)

    index是数组第几行的下标,而 scope.row是一个对象里装载着许多关于生成该列表对象的属性

    1. categoryDelete(i, category) {
    2. console.log(i);
    3. console.log(category);
    4. axios.get("/category/delete?id=" + category.id);
    5. },

     scope.row=category,里面有对象id。

    八、精髓

    /删除数组数据页面会跟着改变 v.categoryArr.splice(i, 1); index是数组第几行的下标,对加载进来的数组做更改,不用再次请求,只是对页面绑定的数据更改。很棒!!

    1. axios.get("/category/delete?id=" + category.id).then(function () {
    2. //删除数组数据页面会跟着改变
    3. v.categoryArr.splice(i, 1);
    4. });

  • 相关阅读:
    匹配不同应用场景,玩转HyperBDR的两种同步模式!
    代码随想录30——回溯:332重新安排行程、51N皇后、37解数独
    《HTML+CSS+JavaScript》之第3章 基本标签
    【QT+QGIS跨平台编译】之六十二:【QGIS_CORE跨平台编译】—【错误处理:未定义类型QgsPolymorphicRelation】
    Jakob Jenkov 个人博客 JCE 部分(译文)
    【Linux】进程优先级PRI
    鸿蒙HarmonyOS实战-ArkUI事件(组合手势)
    极几何,本质矩阵,基础矩阵,单应矩阵
    阿里P8架构师吐血整理的超全Java进阶教程:基础+容器+并发+虚拟机+IO
    【云原生 • Kubernetes】kubernetes 核心技术 - 持久化存储
  • 原文地址:https://blog.csdn.net/weixin_51722520/article/details/126884153