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

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

项目结构



news.html(新闻列表文件)


<!doctype html>

<html lang="en">

<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>Vue-新闻列表页</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/vue/vue.min.js"></script>

   <script src="js/vue/vue-resource.min.js"></script>

   <link rel="stylesheet" href="css/vue-common.css">

</head>

<body>

<div id="app" class="app">

   <table>

       <tr v-for="item in list">

           <td :style="{backgroundImage:'url('+item.pic+')'}"></td>

           <td>

               <h2>{{item.title}}</h2>

               <h3>{{item.content | stripHTML}}</h3>

           </td>

           <td>

               <a :href="'detail.html?id='+item.id" target="_blank">查看详情</a>

           </td>

       </tr>

   </table>

</div>

</body>

</html>

<script src="js/news.js"></script>


js/news.js(新闻列表js文件)


let url = 'http://your_ip:your_port/api/api_name';

new Vue({

   el: '#app',

   data: {

       list: [],

   },

   created: function () {

       this.init();

   },

   methods: {

       init: function () {

           this.$http.post(url, {start: 0, count: 6}, {emulateJSON: true}).then(function (r) {

               this.list = r.body.data;

           }, function () {

               alert('接口请求失败!');

           });

       }

   },

   filters: {

       stripHTML: function (c) {

           return c.stripHTML().substring(0, 30) + "...";

       }

   }

});


detail.html(详情页html)


<!doctype html>

<html lang="en">

<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>Vue-详情页</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/vue/vue.min.js"></script>

   <script src="js/vue/vue-resource.min.js"></script>

   <link rel="stylesheet" href="css/vue-common.css">

</head>

<body>

<div id="app" class="app">

   <div>

       <h1>{{title}}</h1>

       <h6>{{date|format}}</h6>

       <p v-html="content"></p>

   </div>

   <div>

       <a :href="prevHref" target="_self" :class="hasPrevLink?'hasLink':'noLink'">[上一篇] {{prevTitle}}</a><br>

       <a :href="nextHref" target="_self" :class="hasNextLink?'hasLink':'noLink'">[下一篇] {{nextTitle}}</a><br><br>

   </div>

</div>

</body>

</html>

<script src="js/detail.js"></script>


js/detail.js(详情页js)


let url = 'http://your_ip:your_port/api/api_name';

new Vue({

   el: '#app',

   data: {

       list: [],

   },

   created: function () {

       this.init();

   },

   methods: {

       init: function () {

           this.$http.post(url, {start: 0, count: 6}, {emulateJSON: true}).then(function (r) {

               this.list = r.body.data;

           }, function () {

               alert('接口请求失败!');

           });

       }

   },

   filters: {

       stripHTML: function (c) {

           return c.stripHTML().substring(0, 30) + "...";

       }

   }

});


css/vue-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;

}

相关文章
|
22天前
|
JavaScript 容器
乾坤qiankun框架搭建 主应用为vue3的项目。
乾坤qiankun框架搭建 主应用为vue3的项目。
127 2
|
1月前
|
前端开发 JavaScript 开发者
|
25天前
|
JavaScript 前端开发 API
Vue.js:现代前端开发的强大框架
【10月更文挑战第11天】Vue.js:现代前端开发的强大框架
64 41
|
9天前
|
JavaScript 前端开发 开发者
前端框架对比:Vue.js与Angular的优劣分析与选择建议
【10月更文挑战第27天】在前端开发领域,Vue.js和Angular是两个备受瞩目的框架。本文对比了两者的优劣,Vue.js以轻量级和易上手著称,适合快速开发小型到中型项目;Angular则由Google支持,功能全面,适合大型企业级应用。选择时需考虑项目需求、团队熟悉度和长期维护等因素。
15 1
|
10天前
|
前端开发 数据库
芋道框架审批流如何实现(Cloud+Vue3)
芋道框架审批流如何实现(Cloud+Vue3)
30 3
|
1月前
|
JavaScript API
vue尚品汇商城项目-day04【24.点击搜索按钮跳转后的页面商品列表、平台售卖属性动态展示(开发Search组件)】
vue尚品汇商城项目-day04【24.点击搜索按钮跳转后的页面商品列表、平台售卖属性动态展示(开发Search组件)】
50 1
vue尚品汇商城项目-day04【24.点击搜索按钮跳转后的页面商品列表、平台售卖属性动态展示(开发Search组件)】
|
29天前
|
JavaScript 前端开发 API
|
1月前
|
SQL 数据管理 数据库
文章初学者指南:SQL新建数据库详细步骤与最佳实践
引言:在当今数字化的世界,数据库管理已经成为信息技术领域中不可或缺的一部分。作为广泛使用的数据库管理系统,SQL已经成为数据管理和信息检索的标准语言。本文将详细介绍如何使用SQL新建数据库,包括准备工作、具体步骤和最佳实践,帮助初学者快速上手。一、准备工作在开始新建数据库之前,你需要做好以下准备工作
112 3
|
10天前
|
JavaScript 前端开发 API
前端框架对比:Vue.js与Angular的优劣分析与选择建议
【10月更文挑战第26天】前端技术的飞速发展让开发者在构建用户界面时有了更多选择。本文对比了Vue.js和Angular两大框架,介绍了它们的特点和优劣,并给出了在实际项目中如何选择的建议。Vue.js轻量级、易上手,适合小型项目;Angular结构化、功能强大,适合大型项目。
12 0
|
2月前
|
JavaScript 前端开发
Vue学习笔记8:解决Vue学习笔记7中用v-for指令渲染列表遇到两个问题
Vue学习笔记8:解决Vue学习笔记7中用v-for指令渲染列表遇到两个问题
下一篇
无影云桌面