发表于: 2017-07-17 22:43:55

1 825


今天完成的事情:

完成了所有页面的功能需求,明天开始写样式。

'use strict';

angular.module("app")

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

    function biddingJobPerson($scope, $state, httpService, biddingJobPanel, logicService, searchUtil) {

        var vm = this;

        vm.params = $state.params;

        // 读取本地存储数据

        vm.option = logicService.judgeStorage(sessionStorage.biddingOptions, biddingJobPanel);

        // 初始化

        vm.paginationConf = {

            pagesLength: 7

        };

        vm.params.page = vm.params.page? vm.params.page : 1;

        // 选中的数据

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

        // 标签单选

        $scope.radioType = searchUtil.radioType;

        // 数据组装

        vm.data.page = vm.params.page;

        vm.data.size = 10;

        vm.data.companyId = vm.params.id;

        // 搜索

        vm.search = function() {

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

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

        };

        // 获取在招职位

        httpService.getSearchJob('', vm.data)

            .then(function(res) {

                console.log(res)

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

                    vm.biddingJobList = res.data.data;

                    vm.totalNum = res.data.total;

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

                }

                else {

                    alert(res.data.message);

                }

            });

    }


在用到ui-bootstrap的自定义模板时,用到了ng-template指令

查了下资料:

ng-template是angular的模板加载功能,具体加载顺序为内存加载-->Ajax加载。

内存加载有两种方式:

1.通过使用$templateCache service来实现

angular.module('myApp', [])

  .controller('myCtrl', ['$scope','$templateCache', function($scope,$templateCache){

       var tmp = '<h4>lovestory</h4>'

             + '<p>这是直接调用$templateCache服务获取模板文件的方式</p>'

             + '<a href="http://www.baidu.com">服务启用templateCache方式</a>';

       $templateCache.put('lovestory.html',tmp);                

   }])

$templateCache服务put方法负责向内存写入模板内容。

2.通过script标签引入

<script type="text/ng-template" id="lovestory.html">

    <h4>lovestory</h4>

    <p>这是script标签获取模板文件的方式</p>

    <a href="http://www.baidu.com">标签启用templateCache方式</a>

</script>

这里需要注意,type="text/ng-template"是指明这是ng模板,id属性是指实际使用模板时的一个引用,标签之间的内容才是实际的模板内容。而且,需要注意,id绝对不是URL,这个script标签绝对不会发出HTTP请求。

实际应用模板时候,使用ID属性,即可从内存中获取对应数据。

引用该模板需要使用ng-include指令:

<div ng-include="'lovestory.html'" class="well"></div>

使用ng-include的时候,应该注意,id相当于一个字符串,不是ng-expression,所以不要忘了加单引号。

明天计划的事情:

开始按模块写样式

遇到的问题:

暂无

收获:

ng-template的具体用法



返回列表 返回列表
评论

    分享到