项目结构

css/angular-common.css

table tr td:first-child {/**背景图片*/width: 200px;height: 100px;/**居中填满*/background-repeat: no-repeat;background-position: center;background-size: cover;}a {text-decoration: none;cursor: pointer;border-bottom: 1px solid transparent;
}a:hover {border-color: black;
}.hasLink {pointer-events: auto;color: black;border-bottom: 1px solid black;
}.hasLink:hover {color: blue;border-bottom: 1px solid blue;
}.noLink {pointer-events: none;color: lightgray;
}._active {background-color: red;
}

news.html

<!doctype html>
<html ng-app="app" ng-cloak>
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Angular-新闻列表页</title><script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script><script src="js/public/k-app-common.js"></script><script src="js/angular/angular.min.js"></script><link rel="stylesheet" href="css/angular-common.css">
</head><body ng-controller="ctrl"><div><table><tr ng-repeat="item in list"><td style="background-image: url({{item.pic}})"></td><td><h2>{{item.title}}</h2><h3>{{item.content | stripHTML}}</h3></td><td><a ng-href="detail.html?id={{item.id}}" target="_blank">查看详情</a></td></tr></table>
</div></body>
<script src="js/news.js"></script>
</html>

js/news.js

/**angular post 请求*/
let url = 'http://your_ip:your_port/api/api_name'
const config = {headers: {'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'}, transformRequest: function (data) {return $.param(data);}
};
let app = angular.module('app', []);
app.controller('ctrl', function ($scope, $http) {$http.post(url, {start: 0, count: 6}, config).then((r) => {/* 请求成功执行代码*//* alert(JSON.stringify(r.data))*/$scope.list = r.data.data}, (r) => {/* 请求失败执行代码*/alert(JSON.stringify(r))});
});app.filter('stripHTML', function() {//可以注入依赖return function(c) {return c.stripHTML().substring(0, 30) + "...";}
});

detail.html

<!doctype html>
<html ng-app="app" ng-cloak>
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Angular-详情页</title><script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script><script src="js/public/k-app-common.js"></script><script src="js/angular/angular.min.js"></script><script src="js/angular/angular-sanitize.min.js"></script><!--奇葩的angular,用个ng-bind-html还需要依赖angular-sanitize.min.js,真是日了狗了!!!--><link rel="stylesheet" href="css/angular-common.css">
</head><body ng-controller="ctrl"><div><div><h1>{{data.title}}</h1><h6>{{data.date|format}}</h6><p ng-bind-html="data.content"></p><!--如果不引入angular-sanitize.min.js,就会报错--></div><div><a ng-href="{{data.prevHref}}" target="_self" ng-class="data.hasPrevLink?'hasLink':'noLink'">[上一篇] {{data.prevTitle}}</a><br><a ng-href="{{data.nextHref}}" target="_self" ng-class="data.hasNextLink?'hasLink':'noLink'">[下一篇] {{data.nextTitle}}</a><br><br></div>
</div></body>
</html>
<script src="js/detail.js"></script>

js/detail.js

let url = 'http://your_ip:your_port/api/api_name'
let detailId = hash.getQueryString("id");
detailId || alert("id参数获取失败");const config = {headers: {'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'}, transformRequest: function (data) {return $.param(data);}
};
let app = angular.module('app', ['ngSanitize']);
app.controller('ctrl', function ($scope, $http) {$scope.data = {title: "加载中…",date: "",content: "加载中…",prevHref: "",prevTitle: "文章标题加载中…",nextHref: "",nextTitle: "文章标题加载中…",hasPrevLink: false,hasNextLink: false,};$http.post(url, {id: detailId}, config).then((r) => {/* 请求成功执行代码*//* alert(JSON.stringify(r.data))*/r = r.data.data;document.title = r.title;$scope.data.title = r.title;$scope.data.date = r.date;$scope.data.content = r.content;}, (r) => {/* 请求失败执行代码*/alert(JSON.stringify(r))});$http.post(url, {}, config).then((r) => {/* 请求成功执行代码*/let arr = r.data.data;let len = arr.length;let id = parseInt(detailId);let index = parseInt(array.getIndexById(arr, id));if (index <= 0) {$scope.data.prevHref = "#";$scope.data.prevTitle = "没有了";$scope.data.hasPrevLink = false;} else {let _index_l = index - 1;$scope.data.prevTitle = arr[_index_l].title;$scope.data.prevHref = "detail.html?id=" + arr[_index_l].id;$scope.data.hasPrevLink = true;}if (index >= len - 1) {$scope.data.nextHref = "#";$scope.data.nextTitle = "没有了";$scope.data.hasNextLink = false;} else {let _index_n = index + 1;$scope.data.nextTitle = arr[_index_n].title;$scope.data.nextHref = "detail.html?id=" + arr[_index_n].id;$scope.data.hasNextLink = true;}}, function () {alert('接口请求失败!');});
});app.filter('format', function () {//可以注入依赖return function (c) {if (c == "") return;return date.formatDateTime(c);}
});

Angular1.4.6框架简单读取数据库信息并渲染完成news新闻文章列表以及detail详情页功能(小试牛刀)相关推荐

  1. Vue.js框架简单读取数据库信息并渲染完成news新闻文章列表以及detail详情页功能(小试牛刀)

    项目结构 news.html(新闻列表文件) <!doctype html> <html lang="en"> <head><meta c ...

  2. php 读取数据库信息,php读取数据库信息的几种方法

    php读取数据库信息的几种方法 2021-01-23 15:45:586 $dbh=@mysql_connect("localhost:3306","root" ...

  3. 读取数据库信息构建视图字段的备注信息,方便程序代码生成

    在很多情况下,我们开发都需要有一个快速的代码生成工具用来提高开发效率,代码生成工具很多信息都是读取数据库的表.视图等元数据进行对象表信息的完善,有了这些信息,我们就可以在普通的实体类代码里面添加属性字 ...

  4. brit用脚本JavaScript用报表创建数据源,并从配置文件中读取数据库信息

    可以定义一个参数去指定properties文件的路径,然后创建datasource. 在datasource的script中编辑beforeOpen事件,参考下面的代码: ============== ...

  5. Python读取数据库数据写入Excel

    Python读取数据库数据写入Excel 本文示例: 读取数据库数据 创建Excel文件,并创建指定名称的sheet页 将数据库数据写入创建的sheet页中 保存文件 示例代码: # -*- codi ...

  6. Java语言写一个简单的学生信息管理系统,通过JDBC连接数据库对学生信息进行增删改查,采用三层思想和DBUtils第三方框架。

    我把源代码和sql文件放GitHub上了,你们可以自行下载:https://github.com/fenglily1/student. 有问题可以留言或私信,我看到就会回. 进阶版加上页面的管理系统在 ...

  7. jdbc 获取mysql表注释_jdbc读取数据库,表相关信息(含注释)

    读取数据库中的所有的表名 private Set getTableNameByCon(Connection con) { Set set = new HashSet(); try { Database ...

  8. 上传图片至服务器,写入到数据库Blob字段中,以及从数据库读取Blob信息(iframe父子页面传值)(1)

    最近做了个用户维护功能,涉及到照片的操作. 照片是存到数据库oracle中的Blob字段中. 难点有两个: 1,图片的上传:2,Blob字段的读取. 先说图片的上传吧, 我使用common-fileu ...

  9. Unity读取数据库的简单思路

    1.背景介绍 使用Unity管理较多数据时,数据库的读写便成了较为关键操作.写入不必多说,许多博客都有介绍.而读取则是一个麻烦事,如果使自己读取的数据和结构便于修改,不出错,成了我首先考虑的问题(性能 ...

最新文章

  1. MyBatis学习总结(五)——实现关联表查询
  2. MICRA OPENCART 自适应主题模板 ABC-0678-02
  3. 6 redhat 查看rtc时间_RTC 月度小报 9 月 | WebRTC M77、RTC大会即将开幕、实时码流加速...
  4. flash builder 4.7 debug via usb device iPhone 4s - device not found
  5. [mybatis]映射文件_select_resultMap_discriminator鉴别器
  6. 微信公众平台-杂项:小程序导航
  7. java 圆的交点_java – 获取线条和形状的交点
  8. 杭电2571 命运
  9. 查看前端页面请求的文件地址_前端性能优化方法
  10. C语言题目练习100例——题目+题目分析+源代码(91—100)
  11. EPLAN史上最全部件库,官网下载,部件宏,EDZ格式
  12. PS 渐变工具使用
  13. 单片机 嵌入式 毕业设计题目选题推荐
  14. 小米5s html,小米5S线刷MIUI9系统的方法_小米5S专用的MIUI9系统刷机包
  15. 零基础学Docker【3】 | 一文带你快速进行Docker实战
  16. 虚拟服务器主机涨价好多,虚拟主机涨钱了吗
  17. LWN: iproute2和libbpf如何打包!
  18. codesign 想要访问您的钥匙串中的密钥
  19. .NET与JAVA的区别【完整版】
  20. Win11解决需要使用新应用以打开此WindowsDefender链接

热门文章

  1. Matlab-bp神经网络
  2. oracle字符界面安装,怎么解决oracle在linux 纯字符界面安装有关问题
  3. c++函数overload 的歧义匹配
  4. C++ VS2013环境编译使用sqlite数据库全过程
  5. 我下载的最新的linux ADT+eclipse中没有NDK
  6. 使用 Sticky-Kit 实现基于 jQuery 的元素固定效果
  7. SQL Server 数据库备份
  8. 对于计算机网络的整体框架的概括(转载) 个人感觉很好
  9. 用C++开发Web应用
  10. linux 安装redis4.0.6,Redis(4.0.6)在Linux(CentOS7)下的安装