IF进ELSE退

IF进ELSE退 查看完整档案

填写现居城市  |  填写毕业院校  |  填写所在公司/组织填写个人主网站
编辑
_ | |__ _ _ __ _ | '_ \| | | |/ _` | | |_) | |_| | (_| | |_.__/ \__,_|\__, | |___/ 个人简介什么都没有

个人动态

IF进ELSE退 赞了回答 · 2020-08-20

vue 循环数组再次请求后台数据

你一开始都没有那个属性,data 里你应该是 tableList:[]this.tableList[index].list这样你只会更新数据,但不会触发视图,你可以初始化或者用一个对象接收tableList,然后this.tableList = obj;

还有个问题,你这个循环请求如果数据量大的话,超过了浏览器并发请求,可能部分请求会失败,或者造成请求数据响应快慢造成排序错乱问题(比如翻页这种,你可能会先请求到第2页,然后第1页),建议使用promise,队列执行。

关注 4 回答 3

IF进ELSE退 提出了问题 · 2020-08-20

vue 循环数组再次请求后台数据

methods: {
    init() {
        this.getData();
    },
    getData() {
        this.$api.ajax({
            type: 'post',
            url: 'sss',
            success:(res)=> {
                if(res.list && res.list.length) {
                    this.tableList = res.list;
                    this.tableList.map((item,index)=>{
                        item.list = [];
                        this.getListInfo(index, item);
                    })
                }
            }
        });
    },
    getListInfo(index, item) {
        this.$api.ajax({
            type: 'post',
            url: 'ttt',
            data:  {
                id: item.id,
            },
            success:(res)=> {
                this.tableList[index].list = res;
                console.log(this.tableList); //这里能看到最新的list数据
            }
        });
    },
}

为什么我这个数组里循环获取后台数据在console.log下能看到数据但是在页面list是空的,用this.$set来赋值都没有?
是不是这个循环会有问题?

关注 4 回答 3

IF进ELSE退 赞了回答 · 2018-06-05

解决操作对象里的值

你的意思是会有多个诸如[1,2...11]类似这样导航到最终now=true的数组?
如果是这样,其实你应该从顶部开始查询,查询到一级有分支就深拷贝一个数组对应不同分支,直到底层,然后排除掉不符合要求的。这样可能效率更高一些。当然,这样做的前提是提供的数据是符合结构的。

正确的只有3个路径,是[[1,2,4],[1,3,6],[8,9,11]]

//实现的代码
function objP(bArr, inArr){
    var rt=[];
    for(var i=0;i<inArr.length;i++){
        if(inArr[i].now===false){
            continue;
        } else if(inArr[i].now){
            var newBArr=bArr.concat(inArr[i].id);
            rt.push(newBArr);
            continue;
        } else if(inArr[i].child){
            var tmp=objP([inArr[i].id], inArr[i].child)
            for(var j=0;j<tmp.length;j++){
                rt.push(bArr.concat(tmp[j]));
            }
        } 
    }
    return rt;
}   

console.log(objP([],arr));  

关注 4 回答 2

IF进ELSE退 提出了问题 · 2018-06-05

解决操作对象里的值

var arr = [
    {
        name:"新闻",
        id:1,
        parent_id: 0,
        child:[
        {
          name:"广东新闻",
          id:2,
          parent_id: 1,
            child:[
              {
                now: true,
                  name:"深圳新闻",
                  id:4,
                  parent_id: 2
              },{
                now: false,
                  name:"广州新闻",
                  id:5,
                  parent_id: 2
              }
          ]
        },
        {
          name:"湖南新闻",
          id:3,
          parent_id: 1,
          child:[
            {
              now: true,
              name:"株洲新闻",
              parent_id: 3,
              id:6
            },{
              now: false,
              name:"长沙新闻",
              parent_id: 3,
              id:7
            }
          ]
        }]
      },
      {
        name:"学院",
        id:8,
        parent_id: 0,
        child:[
        {
          name:"广东学院",
          id:9,
          parent_id: 8,
            child:[
              {
                now: true,
                  name: "深圳大学",
                  id:11,
                  parent_id: 9
              },{
                now: false,
                  name:"中山大学",
                  id:12,
                  parent_id: 9
              }
          ]
        },
        {
          name:"湖南学院",
          id:10,
          parent_id: 8,
          child:[
            {
              now: false,
              name:"长沙师范学院",
              parent_id: 10,
              id:13
            },{
              now: false,
              name:"株洲学院",
              parent_id: 10,
              id:14
            }
          ]
        }]
      },
    ];

我想获取数组的最后级一级如果now为true的话根据他的parent_id找到他的父级,
然后获取它以及它父级的id,这样不断向上获取它的父级
最后返回一个数组结果是[1,2,3,4,6,8,9,11]
这样该怎么查找?

关注 4 回答 2

IF进ELSE退 赞了回答 · 2018-02-05

解决关于深拷贝问题

不是function不复制,是JSON.stringify无法转化function。

o3.func()是可以执行的哟

关注 5 回答 3

IF进ELSE退 提出了问题 · 2018-02-02

解决这种正则怎么匹配的?

clipboard.png

这个正则后面那个(?=(\d{3}+\.))
不是只能匹配一次前面的12000000000吗?
为什么还能继续匹配前面的?
前面那些不是没有.吗,怎么就符合了?

关注 3 回答 3

IF进ELSE退 赞了回答 · 2017-11-07

angluarjs config

一般文档都会写清楚的呀,或者直接看它的源码,都是开源的东西,直接看看不就好了

关注 3 回答 2

IF进ELSE退 赞了回答 · 2017-11-07

angluarjs config

当然去文档中去找
打开 \node_modules\oclazyload\dist\ocLazyLoad.js

clipboard.png

关注 3 回答 2

IF进ELSE退 提出了问题 · 2017-11-06

angluarjs config

哎学了一段时间这个angluarjs真的想吐血,
又说config是对一些服务的初始操作,那如果我对$ocLazyLoad
进行操作,那我怎么知道这个$ocLazyLoad里的具体配置是怎么样的,大家是怎么去查找的?

关注 3 回答 2

IF进ELSE退 提出了问题 · 2017-10-19

关于vuejs mvvm原理

对于数据改变视图和视图改变数据是通过ViewModel这个中间层去实现的
但是看他的实现原理,网上都是介绍循环数据对象给他们加上Object.defineProperty
再经过wacther订阅者,最后由订阅者去通过视图更新,但是如果是视图的更新
怎么改变数据对象的值倒没有怎么提,有谁能说下这个原理吗?

关注 11 回答 7

认证与成就

  • 获得 13 次点赞
  • 获得 307 枚徽章 获得 8 枚金徽章, 获得 77 枚银徽章, 获得 222 枚铜徽章

擅长技能
编辑

(゚∀゚ )
暂时没有

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2015-01-12
个人主页被 1.4k 人浏览