【Vue.js 入门与实战】--品牌列表-从数据库获取列表

简介: 基于之前学习的 vue-resource 学习品牌管理改造,之前是在本地创建数据,现在使用 vue-resource请求远端数据库。

品牌列表-从数据库获取列表

 

一、Vue-resource 改造品牌列表案例

基于之前学习的 vue-resource 学习品牌管理改造,之前是在本地创建数据,现在使用 vue-resource请求远端数据库。

(首先需要学会使用查看 api 接口,可以学习到,所有的 api 域名,http://vue.studyit.io如果后面文档中,有的域名地址与这个不一致,应与这个保持一致。)

1.第一步:导入

vue 包下导入 vue-resource

<script src=”./lib/vue-2.4.0.js”></scipt>

<script src=”./lib/vue-resource1.3.4.js”></scipt>

2.  画框

导入之后,在 vm 上, name 就可以请求数据了

<link rel =”stylesheet”href=”./lib/bootstrap-3.3.7.css”>

3.  填入表格内容

<div id=”app”>

<table class="table table-bordered table-hover table-striped">

<thead>

<tr>

<th>Id</th>

<th>Name</th>

<th>ctime</th>

<th>operation</th>

el:’#app’,

Data:(

List:(

{id:1,name:’五菱宏光’,ctime:new date()}

{id:1,name:’众泰’,ctime:new date()}

<tr v-for=’item in list’=key=”item.id”>

<tr v-for="item in list":key="item.id"> //key 只接受字符串或者number

<td> {{item.id}} </td>

<td> {{item.name}} </td>

<td> {{item.ctime}} </td>

<td><td>

<td><td>

<tr>

</tbody>

</table>

此时,右键浏览结果显示如下:

image.png

 

<Div class="panel panel-primary>

<div class="panel-heading">

<h3 class="panel-title">添加品牌</h3>

</div>

<div class="panel-body form-inline’’>

//是为了能够让所有内容在一行显示

<label>

Name:

<input type="text" v-model="name"class="form-control">

</label>

<input type="button" value="添加”@click="add"class="btn btn-prima">

</div>

</div>

 

<table class="table table-bordered table-hover table-striped">

<thead>

<tr>

<th>Id</th>

<th>Name</th>

<th>ctime</th>

<th>operation</th>

</tr>

</thead>

<Tbody>

<tr v-for="item in list":key="item.id"> //key 只接受字符串或者number

<td> {{item.id}} </td>

<td> {{item.name}} </td>

<td> {{item.ctime}} </td>

<td><td>

<td><td>

<tr>

</tbody>

</table>

此时,显示结果如下图:

image.png

<script>

//创建 Vue 实例,得到 ViewMode1

var Vm = new Vue {{

el: ‘#app'

data:{

name:’’,

list:[ //存放所有品牌列表的数组

{id:1,name:’五菱宏光ctime:new Date() },

{id:2, name:’众泰',ctime:new Date() }

]

}

created() {

//vm 实例的data methods 初始化完毕后,vm 实例会自动执行 created 这个生命周期函数.

this.getA11List()

},

methods: {

add() {}

getAllList() {//获取所有的品牌列表

//分析:

由于已经导入了Vue-resource 包,所以,可以直接通过 this.$http 发起数据请求,根据接口API 文档,获取列表应该发起 get 请求。this.$http.get('ur1').then(function(result){})当通过 then 指定回调函数之后,在回调函数中,可以拿到数据服务器返回的 result 先判断result.status 是否等于0,如果等于0,就表示成功,可以把 result.message 赋值给 this.list ;如果不等于0,可以弹框提醒,获取数据失败!在整个 new 的过程中会执行一系列的生命周期函数。

这时候调用getAllList()方法,就会发起请求,同时,实例继续向后执行。在编译阶段数据就已经请求过来了,只要页面一被挂载上去,就可以看到数据,所以应该尽早发送请求。

this.$http.get('http://vue.studyit.io/api/getprodlist').then(result→{

//注意:通过$http 获取到的数据,都储存在 result.body

Var result result.body

if (result.status===0) {

//成功

this.list result.message

} else {

//失败

alert("获取数据失败!’)

 

 

相关文章
|
2月前
|
存储 安全 API
Next.js 实战 (九):使用 next-auth 完成第三方身份登录验证
这篇文章介绍了next-auth,一个为Next.js设计的身份验证库,支持多种认证方式,如电子邮件和密码、OAuth2.0提供商(如Google、GitHub、Facebook等)以及自定义提供商。文章包含了如何配置Github Provider以及会话管理,并提到了适配器Adapters在next-auth中的作用。最后,文章强调了next-auth的强大功能值得进一步探索。
133 10
|
9天前
|
监控 JavaScript 前端开发
MutationObserver详解+案例——深入理解 JavaScript 中的 MutationObserver:原理与实战案例
MutationObserver 是一个非常强大的 API,提供了一种高效、灵活的方式来监听和响应 DOM 变化。它解决了传统 DOM 事件监听器的诸多局限性,通过异步、批量的方式处理 DOM 变化,大大提高了性能和效率。在实际开发中,合理使用 MutationObserver 可以帮助我们更好地控制 DOM 操作,提高代码的健壮性和可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
MutationObserver详解+案例——深入理解 JavaScript 中的 MutationObserver:原理与实战案例
|
1月前
|
人工智能 JavaScript 关系型数据库
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
107 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
|
1月前
|
人工智能 JavaScript 安全
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
113 13
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
|
2月前
|
设计模式 数据安全/隐私保护
Next.js 实战 (七):浅谈 Layout 布局的嵌套设计模式
这篇文章介绍了在Next.js框架下,如何处理中后台管理系统中特殊页面(如登录页)不包裹根布局(RootLayout)的问题。作者指出Next.js的设计理念是通过布局的嵌套来创建复杂的页面结构,这虽然保持了代码的整洁和可维护性,但对于特殊页面来说,却造成了不必要的布局包裹。文章提出了一个解决方案,即通过判断页面的skipGlobalLayout属性来决定是否包含RootLayout,从而实现特殊页面不包裹根布局的目标。
127 33
|
2月前
|
缓存 NoSQL JavaScript
Vue.js应用结合Redis数据库:实践与优化
将Vue.js应用与Redis结合,可以实现高效的数据管理和快速响应的用户体验。通过合理的实践步骤和优化策略,可以充分发挥两者的优势,提高应用的性能和可靠性。希望本文能为您在实际开发中提供有价值的参考。
71 11
|
2月前
|
中间件 API
Next.js 实战 (八):使用 Lodash 打包构建产生的“坑”?
这篇文章介绍了作者在使用Nextjs15进行项目开发时遇到的部署问题。在部署过程中,作者遇到了打包构建时的一系列报错,报错内容涉及动态代码评估在Edge运行时不被允许等问题。经过一天的尝试和调整,作者最终删除了lodash-es库,并将radash的部分源码复制到本地,解决了打包报错的问题。文章最后提供了项目的线上预览地址,并欢迎读者留言讨论更好的解决方案。
62 10
|
3月前
|
前端开发 API 开发者
Next.js 实战 (五):添加路由 Transition 过渡效果和 Loading 动画
这篇文章介绍了Framer Motion,一个为React设计的动画库,提供了声明式API处理动画和页面转换,适合创建响应式用户界面。文章包括首屏加载动画、路由加载Loading、路由进场和退场动画等主题,并提供了使用Framer Motion和next.js实现这些动画的示例代码。最后,文章总结了这些效果,并邀请读者探讨更好的实现方案。
|
2月前
|
JavaScript 前端开发 API
Next.js 实战 (六):如何实现文件本地上传
这篇文章介绍了在Next.js中如何实现文件上传到本地的方法。文章首先提到Next.js官方文档中没有提供文件上传的实例代码,因此开发者需要自行实现,通常有两种思路:使用Node.js原生上传或使用第三方插件如multer。接着,文章选择了使用Node.js原生上传的方式来讲解实现过程,包括如何通过哈希值命名文件、上传到指定目录以及如何分类文件夹。然后,文章展示了具体的实现步骤,包括编写代码来处理文件上传,并给出了代码示例。最后,文章通过一个效果演示说明了如何通过postman模拟上传文件,并展示了上传后的文件夹结构。
|
2月前
|
监控 安全 中间件
Next.js 实战 (十):中间件的魅力,打造更快更安全的应用
这篇文章介绍了什么是Next.js中的中间件以及其应用场景。中间件可以用于处理每个传入请求,比如实现日志记录、身份验证、重定向、CORS配置等功能。文章还提供了一个身份验证中间件的示例代码,以及如何使用限流中间件来限制同一IP地址的请求次数。中间件相当于一个构建模块,能够简化HTTP请求的预处理和后处理,提高代码的可维护性,有助于创建快速、安全和用户友好的Web体验。