发表于: 2017-07-15 23:11:17

1 785


今天完成的事情:

公司搜索页的编写:

'use strict';

angular.module("app")

    .controller("searchCompanyPerson", ['$scope', '$state', 'httpService', 'searchPanel', 'logicService', 'searchUtil', searchCompanyPerson]);

    function searchCompanyPerson($scope, $state, httpService, searchPanel, logicService, searchUtil) {

        var vm = this;

        // 读取本地存储数据

        vm.option = logicService.judgeStorage(sessionStorage.companyOptions, searchPanel);

        // 初始化

        vm.paginationConf = {

            pagesLength: 7

        };

        $state.params.page = $state.params.page? $state.params.page : 1;

        // 标签单选

        vm.radioType = searchUtil.radioType;

        // 选中的数据

        vm.data = searchUtil.dataConvert(vm.option);

        // 拼凑字段

        vm.data.name = $state.params.name;

        vm.data.page = $state.params.page;

        vm.data.size = 10;

        // 搜索

        vm.search = function() {

            sessionStorage.companyOptions = JSON.stringify(vm.option);

            vm.data.page = 1;

            $state.go('.', {page: 1, size: 10, name: vm.data.name}, {reload: true});

        };

        // 清空

        vm.clear = function() {

            sessionStorage.removeItem("companyOptions");

            sessionStorage.companyOptions = JSON.stringify(searchPanel);

            vm.data.page = 1;

            $state.go('.', {page: 1, size: 10, name: null}, {reload: true});

        };

        // 获取公司列表

        httpService.getCompanyList('', vm.data)

            .then(function(res) {

                if(res.data.code === 0) {

                    vm.companyList = res.data.data;

                    vm.paginationConf.totalItems = res.data.total;

                }

                else {

                    alert(res.data.message);

                }

                // 404页面

                if(res.data.code < 0 || res.data.data.length === 0) {

                    httpService.getCompanyList(1, {size: 3})

                        .then(function(response) {

                            vm.groomCompany = response.data.data;

                        });

                }

            });

    }

这里的话出现了一个bug,input的ng-model是vm.data.name,如果写入一个string可以传参,但是紧接着在input中删除掉这个值,这个时候ng-model的值应该是undefined,但是最后发现传的参数依然是之前写入的值,目前还尚未解决。

复习了下布尔值:

布尔型的转换,javascript约定规则为

false、undefinded、null、0、”” 为 false

true、1、”somestring”、[Object] 为 true

经常看到这样的例子:

var a;

var b=!!a;

a默认是undefined。!a是true,!!a则是false,所以b的值是false,而不再是undefined,也非其它值,主要是为后续判断提供便利。

同时查了下ng-repeat提供的自定义变量:

ng-repeat里面提供了几个变量,为开发者提供一些快捷的操作,

    $index : 表示当前item的索引,

    $first : 如果item为第一个,那么$first为true ,

    $middle : 如果item不是开头,不是结尾$middle为true,

    $last : 如果item是最后一个,  $last为true,

    $even : 如果索引为偶数, 那么$even为true,否则为false

    $odd : 同上, 索引为奇数$odd为true....;


明天计划的事情:

开始搜索职位页的编写

遇到的问题:

搜索公司页面的bug尚未解决

收获:

ng-repeat的变量的使用


返回列表 返回列表
评论

    分享到