发表于: 2017-06-11 21:43:07

1 960


今天完成的事情:

1.完成任务8的收尾工作:

昨晚加班把自定义指令进行了修改,刷新后页面不会跳转到首页;

// prevPage

            scope.prevPage = function() {

                if(conf.currentPage > 1){

                    conf.currentPage -= 1;

                }

                getPagination();

                $state.params.page = conf.currentPage;

                scope.page = $state.params.page;

                $state.go('.',{page:scope.page});

            };

            // nextPage

            scope.nextPage = function() {

                if(conf.currentPage < conf.numberOfPages){

                    conf.currentPage += 1;

                 }

                 getPagination();

                $state.params.page = conf.currentPage;

                scope.page = $state.params.page;

                $state.go('.',{page:scope.page});

            };

            // 变更当前页

            scope.changeCurrentPage = function(item) {

                if(item === '···'){

                    return;

                }else{

                    conf.currentPage = item;

                    getPagination();

                    $state.params.page = conf.currentPage;

                    scope.page = $state.params.page;

                    $state.go('.',{page:scope.page});

                }

            };

            // 修改每页展示的条数

            /*scope.changeItemsPerPage = function() {

                // 一旦展示条数变更,当前页将重置为1

                conf.currentPage = 1;

                getPagination();

                /!*$state.params.size = scope.conf.itemsPerPage;

                scope.size = $state.params.size;

                $state.params.page = conf.currentPage;*!/

                scope.page = $state.params.page;

                $state.go('.',{page:scope.page, size:scope.conf.itemsPerPage});

            };*/

            // 跳转页

            scope.jumpToPage = function() {

                num = scope.jumpPageNum;

                if(num) {

                    num = parseInt(num, 10);

                    if(num && num !== conf.currentPage) {

                        if(num > conf.numberOfPages) {

                            num = conf.numberOfPages;

                        }

                        // 跳转

                        conf.currentPage = num;

                        getPagination();

                        scope.jumpPageNum = '';

                        $state.params.page = conf.currentPage;

                        scope.page = $state.params.page;

                        $state.go('.',{page:scope.page, size:scope.conf.itemsPerPage});

                    }

                }

                else if(!num && scope.conf.itemsPerPage !== $state.params.size) {

                    conf.currentPage = 1;

                    getPagination();

                    $state.params.page = conf.currentPage;

                    scope.page = $state.params.page;

                    $state.go('.',{page:scope.page, size:scope.conf.itemsPerPage});

                }

            };

            scope.$watch('conf.totalItems', function() {

                getPagination();

            });

2.把下拉菜单的选项用constant写成一个自定义过滤器(借鉴王蒙师兄的写法):

myApp.filter("optionsFilter", function(Type, Status, Handle) {

    return function(index, optionsFilterAim) {

        if(index !== "" && index !== undefined) {

            switch(optionsFilterAim) {

                case "type":

                    return Type[index];

                    break;

                case "status":

                    return Status[index];

                    break;

                case "handle":

                    return Handle[index];

                    break;

                default:

                    console.log("filter param error!");

            }

        }

    }

})

    .constant("Type", {

        "": "全部",

        0: "首页Banner",

        1: "找职位Banner",

        2: "找精英Banner",

        3: "行业大图"

    })

    .constant("Status", {

        "": "全部",

        1: "草稿",

        2: "上线"

    })

    .constant('Industry', {

        0: "移动互联网",

        1: "电子商务",

        2: "企业服务",

        3: "O2O",

        4: "教育",

        5: "金融",

        6: "游戏"

    })

    .constant("Handle", {

        1: "上线",

        2: "下线"

    });

3.学习了FormData 对象的使用

通过FormData对象可以组装一组用 XMLHttpRequest发送请求的键/值对。它可以更灵活方便的发送表单数据,因为可以独立于表单使用。如果你把表单的编码类型设置为multipart/form-data ,则通过FormData传输的数据格式和表单通过submit() 方法传输的数据格式相同。

如何创建一个FormData对象

你可以自己创建一个FormData对象,然后通过调用它的append()方法添加字段,就像这样:

var formData = new FormData();

formData.append("username", "Groucho");

formData.append("accountnum", 123456); // 数字 123456 会被立即转换成字符串 "123456"

// HTML 文件类型input,由用户选择

formData.append("userfile", fileInputElement.files[0]);

// JavaScript file-like 对象

var content = '<a id="a"><b id="b">hey!</b></a>'; // 新文件的正文...

var blob = new Blob([content], { type: "text/xml"});

formData.append("webmasterfile", blob);

var request = new XMLHttpRequest();

request.open("POST", "http://foo.com/submitform.php");

request.send(formData);

发送请求:

var form = document.forms.namedItem("fileinfo");

form.addEventListener('submit', function(ev) {

  var oOutput = document.querySelector("div"),

      oData = new FormData(form);

  oData.append("CustomField", "This is some extra data");

  var oReq = new XMLHttpRequest();

  oReq.open("POST", "stash.php", true);

  oReq.onload = function(oEvent) {

    if (oReq.status == 200) {

      oOutput.innerHTML = "Uploaded!";

    } else {

      oOutput.innerHTML = "Error " + oReq.status + " occurred when trying to upload your file.<br \/>";

    }

  };

  oReq.send(oData);

  ev.preventDefault();

}, false);

4.学习了洗髓换骨的数据结构。线性表有队列、栈等等,非线性表有树状的、图状的。

明天计划的事情:

继续任务9的编写

遇到的问题:

暂无

收获:

state.go传参和formdata的知识


返回列表 返回列表
评论

    分享到