发表于: 2017-07-10 21:43:04

1 856


今天主要的工作是完成任务7,开始预习任务8,首先整理一下js任务7的思路

1. 配置路由,控制器和懒加载

.state("home", {
   url:"/home",
   templateUrl: "view/home.html",
   controller:'homeCtrl',
   resolve: {
       loadFile: ['$ocLazyLoad', function ($ocLazyLoad) {
           return $ocLazyLoad.load([
               'css/bootstrap.min.css',
               'css/home.css',
               'js/home.js'
           ])
       }]
   }
})

登录之后页面默认跳转到home页,引入控制器homeCtrl,懒加载对应js和css文件

2. 完成对应静态页面

这个部分不多做整理了,做不出的样式用开发者工具多调试一下

收了一个在线矢量图网址http://www.fontawesome.com.cn/,很多小图标不用再截图了,直接用代码就可以体现

3. ng-repeat实现列表项的动态加载

这个是本次任务的重点,最开始的思路是错的,实际上本次任务需要的是从后台得到所需的表格内容,然后再动态显示出来

首先还是通过$http传参从后台抓取数据,路径等参考js6-10任务资源,当连接出错的时候,弹窗提示

angular.module("theApp",[])
   .controller('homeCtrl',function ($scope,$http) {
       $http({
           method: "get",
           url: "/a/a/article/search"
       }).then (function success(response) {
           $scope.upperForm = response.data.data.articleList
}, function error(response) {
           alert("连接出错")
       });
})

接下来完成表格动态生成的代码

<tr ng-repeat="msg in upperForm">
   <td>{{msg.id}}</td>
   <td>{{msg.name}}</td>
   <td>{{msg.type | typeFliter}}</td>
   <td>{{msg.createAt | date:"yyyy/dd/mm HH:mm:ss"}}</td>
   <td>{{msg.updateAt | date:"yyyy/dd/mm HH:mm:ss"}}</td>
   <td>{{msg.author}}</td>
   <td>{{msg.state}}</td>
   <td>{{msg.status | statusFilter}}</td>
</tr>

根据任务资源中给出的名称,通过msg.名称的方式将数组内容动态加载出来

 但是实际加载出来的是数组中的原始数据,很多部分需要用过滤器进行格式以及内容的转换

过滤器的格式是ng-repeat后加“| 过滤器”,可以进行自定义

时间过滤器是最基本的“| date:"yyyy/dd/mm HH:mm:ss”

接下来是自定义过滤器

.filter('typeFliter',function () {
   var typeAll = ["首页banner","找职位banner","找精英banner","行业大图"];
   return function (type) {
       return type = typeAll[type];
   }
})

给过滤器自定义命名,将需要过滤的内容定义为数组,将对应内容过滤出来并返回

明天的计划是进行任务8


返回列表 返回列表
评论

    分享到