发表于: 2017-02-28 23:36:03

1 1243


完成了页面侧边栏的动态生成
你明天打算做什么?
调整动态生成的顺序问题
调整页面URL污染
调整页面
你遇见什么困难?

1在取出数据之后需要对数据进行处理之后在进行输出,在这里有一个问题是,需要把一层的数据结构换成2层的数据结构,所以在这里卡住了,数据数来的时候是是一层的,使用了foreach来循环遍历这个对象,拿到了新的10个对象,这10个对象分别代表一级,二级类目所需要的数据,所以需要repeat数据,那么就存在嵌套的关系,但数据又是一层,所以需要对数据进行操作!让其变成2层的对应嵌套关系,首先需要去找到一级类目,找到之后,拿着一级类目去找二级类目,把二级类目放到一级类目下方就可以使用repeat来输出数据了,上面几句话就是关键代码了,也就是这里怎么也想不明白,因为需要定义的东西实在是很多,把事情想的复杂了,后来寻求了二大的帮助,这里其实也就2个foreach的事情就可以把值取出来,并把值赋值给一个变量,然后把变量放入一级类目属性里面,真的是,卡死了~而更纠结的是,最开始的时候想的是使用一个foreach就完事,结果还是太年轻啊,在加了2个foreach之后,才完事,第一个foreach把数据进行分组放置,然后2个foreach齐上阵,把属性进行比对,对上就把数据放进一个变量里面,然后建立一个数组,把处理好的变量push进这个数组就好了,关键代码也就完事了,在晚上的时候看了下官网的代码,没看懂,

.controller("field",function($scope,$http,$state,$stateParams,Interface){
        var vm = this;
        //URL接受参数
        var ids = $stateParams.model;
        //2次请求数据源
        var data = {ids}
        //父子级分类
        var  v = [];
        var  c = [];
        vm.model = [];
        //console.log(data)
        //3次请求数据
        Interface.Modules(data).then(function(res){
            //源数据返回
            var data  = res.data.data;
            //父子级分类
            angular.forEach(data.moduleList,function(value){
                if(value.parentID == 0){
                    v.push(value)
                }
                else {
                    c.push(value)
                }
 });
            //类似冒泡排序取值
            angular.forEach(v,function(one){
                one.child=[];
                angular.forEach(c,function(values){
                    if(one.id == values.parentID){
 
                       one.child.push(values)
                    }
                });
                //最终repeat数据源
                vm.model.push(one);
                //console.log(vm.model)
            });
        });
    });
你的收获?

绕了接近一天,绕出来了,现在看来很简单的一个冒泡排序,看来原来还是理解的不够清楚

状态下滑了



返回列表 返回列表
评论

    分享到