当前位置: 首页 > news >正文

自己电脑上做网站别人访问赣州工作室

自己电脑上做网站别人访问,赣州工作室,四川高速公路建设开发集团有限公司网站,仁茂网络seo文章目录0.思路总结1.创建CMS模块的目录架构2.创建页面并配置路由1#xff09;在page目录新建page_list.vue#xff0c;扩展名为.vue。2#xff09;在cms的router下配置路由。3#xff09;在base目录下的router导入cms模块的路由3.使用Table组件完善页面内容4.Api调用服务器… 文章目录0.思路总结1.创建CMS模块的目录架构2.创建页面并配置路由1在page目录新建page_list.vue扩展名为.vue。2在cms的router下配置路由。3在base目录下的router导入cms模块的路由3.使用Table组件完善页面内容4.Api调用服务器端查询接口获取数据1在cms模块的api目录定义cms.js。2在前端页面page_list.vue中导入cms.js获取后端返回的数据。5.解决调用接口的跨域问题6.实现指定页面的分页查询1定义分页视图2定义数据模型对象3定义分页方法接收页码参数7.使用钩子函数实现进入页面时立即查询0.思路总结 1在浏览器输入前端url 2前端框架vue.js根据url解析路由根据路由找到page_list.vue页面 3首先执行page_list.vue中的钩子方法 4在钩子方法中调用query方法 5在query方法中调用cms.js中的page_list方法 6cms.js中的page_list方法通过axios请求服务端接口 7采用proxyTable解决跨域问题node.js将请求转发到服务端(http://localhost:31001/cms/page/list) 8服务端处理将查询结果响应给前端 9成功响应调用then方法在then方法中处理响应结果将查询结果res赋值给数据模型中的total和list变量。 10vue.js通过双向数据绑定将list数据渲染输出。 1.创建CMS模块的目录架构 在module目录中创建cms模块的目录结构如下所示 2.创建页面并配置路由 1在page目录新建page_list.vue扩展名为.vue。 .vue文件的结构如下 template !‐‐编写页面静态部分即view部分‐‐ 测试页面显示... /template script /*编写页面静态部分即model及vm部分。*/ /script style /*编写页面样式不是必须*/ /style注意template内容必须有一个根元素否则vue会报错这里我们在template标签内定义一个div。 2在cms的router下配置路由。 在router目录下新建index.js路由代码如下 import Home from /module/home/page/home.vue; import page_list from /module/cms/page/page_list.vue; export default [{ path: /cms, component: Home, name: CMS内容管理, hidden: false, children:[ {path:/cms/page/list,name:页面列表,component: page_list,hidden:false} ] } ]3在base目录下的router导入cms模块的路由 // // 导入路由规则 import HomeRouter from /module/home/router import CmsRouter from /module/cms/router // 合并路由规则 concat(HomeRouter) concat(CmsRouter)3.使用Table组件完善页面内容 本项目使用Element-UI来构建界面Element是一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库。 Element-UI官方站点https://element.eleme.cn/#/zh-CN 本功能实现的页面列表用户可以进行分页查询、输入查询条件查询通过查看Element-UI库我们需要Table 表格、Form表单 及Pagination 分页组件。 进入Element-UI官方找到Table组件拷贝源代码到page_list.vue页面中。 根据需求完善页面内容完善列表字段添加分页组件。 template div el‐button typeprimary v‐on:clickquery sizesmall查询/el‐button el‐table :datalist stripe stylewidth: 100% el‐table‐column typeindex width60 /el‐table‐column el‐table‐column proppageName label页面名称 width120 /el‐table‐column el‐table‐column proppageAliase label别名 width120 /el‐table‐column el‐table‐column proppageType label页面类型 width150 /el‐table‐column el‐table‐column proppageWebPath label访问路径 width250 /el‐table‐column el‐table‐column proppagePhysicalPath label物理路径 width250 /el‐table‐column el‐table‐column proppageCreateTime label创建时间 width180 /el‐table‐column /el‐table el‐pagination layoutprev, pager, next :page‐sizethis.params.size v‐on:current‐changechangePage :totaltotal :current‐pagethis.params.page stylefloat:right; /el‐pagination /div /template script export default { data() { return { list:[], total:50, params:{ page:1,//页码 size:2//每页显示个数 } } }, methods:{ //分页查询 changePage:function () { this.query() }, //查询 query:function () { alert(查询) } } } /script测试结果如下 4.Api调用服务器端查询接口获取数据 1在cms模块的api目录定义cms.js。 在cms.js中定义如下js方法此方法实现http请求服务端页面查询接口。 //public是对axios的工具类封装定义了http请求方法 import http from ./../../../base/api/public export const page_list (page,size,params) { return http.requestQuickGet(http://localhost:31001/cms/page/list/page/size) }axios实现了http方法的封装vue.js官方不再继续维护vue-resource,推荐使用 axios。 2在前端页面page_list.vue中导入cms.js获取后端返回的数据。 调用cms.js中的page_list 方法请求服务端页面查询接口并返回数据将数据封装到res中。 import * as cmsApi from ../api/cms//查询 query:function () { cmsApi.page_list(this.params.page,this.params.size,this.params).then((res){ console.log(res) this.total res.queryResult.total this.list res.queryResult.list }) }5.解决调用接口的跨域问题 测试上边的代码 结果报错如下 No Access-Control-Allow-Origin header is present on the requested resource. Origin http://localhost:11000 is therefore not allowed access.原因浏览器的同源策略不允许跨域访问所谓同源策略是指协议、域名、端口相同。 解决采用proxyTable解决。 proxyTable是什么 vue-cli提供的解决vue开发环境下跨域问题的方法proxyTable的底层使用了http-proxymiddlewarehttps://github.com/chimurai/http-proxy-middleware它是http代理中间件它依赖node.js基本原理是用服务端代理解决浏览器跨域。 具体的配置如下 1修改api方法中url的定义 请求前加/api前缀 //public是对axios的工具类封装定义了http请求方法 import http from ./../../../base/api/public let sysConfig require(/../config/sysConfig) let apiUrl sysConfig.xcApiUrlPre; export const page_list (page,size,params) { return http.requestQuickGet(apiUrl/cms/page/list/page/size) }2在config/index.js下配置proxyTable。 以/api/cms开头的请求代理请求http://localhost:31001 /api/cms: { target: http://localhost:31001, pathRewrite: { ^/api: //实际请求去掉/api }6.实现指定页面的分页查询 1定义分页视图 使用v-on监听更改分页事件 el‐pagination layoutprev, pager, next :page‐sizethis.params.size v‐on:current‐changechangePage :totaltotal :current‐pagethis.params.page stylefloat:right; /el‐pagination2定义数据模型对象 data() { return { list:[], total:50, params:{ page:1,//页码 size:2//每页显示个数 } }3定义分页方法接收页码参数 //分页查询接收page页码 changePage(page){ this.params.page page; this.query() }7.使用钩子函数实现进入页面时立即查询 目前实现的功能是进入页面点击查询按钮向服务端表求查询实际的需求是进入页面立即查询。如何实现 这要用到vue的钩子函数每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如需要设置数据监听、 编译模板、将实例挂载到 DOM 并在数据变化时更新 DOM 等。同时在这个过程中也会运行一些叫做生命周期钩子 的函数这给了用户在不同阶段添加自己的代码的机会。 通常使用最多的是created和mounted两个钩子 createdvue实例已创建但是DOM元素还没有渲染生成。 mountedDOM元素渲染生成完成后调用。 本例子在两个方法的任意一个都满足需求 添加如下代码 mounted() { //默认查询页面 this.query() }
http://www.zqtcl.cn/news/735618/

相关文章:

  • 做淘宝要网站兰州画册设计
  • 外贸网站排行榜前十名电影网站标题怎么做流量多
  • 网站建设吉金手指专业13网站备案完成后不解析
  • 社保网站减员申报怎么做长春建筑网站
  • 网站开发用原生wordpress读者墙
  • 食品网站网页设计成都建网页
  • 网站建设 珠海专业团队表情包张伟
  • 建设铝合金窗网站.net制作网站开发教程
  • 网站后台服务器内部错误wordpress 多级菜单
  • 怎样更新网站内容怎么查看网站是哪家公司做的
  • 建设网站网站建站建立一个网站平台需要多少钱
  • 学校网站模板 html网站建设技术路线
  • 图片网站如何做百度排名深入挖掘wordpress
  • 网站建设的前景网站建设分为哪三部分
  • 房地产公司网站下载校园二手信息网站建设
  • 有关网站空间不正确的说法是设计和建设企业网站心得和体会
  • 个人网站前置审批项怎么做投票 网站
  • 网站建设零金手指花总js源码下载从哪个网站能下载
  • 网站开发属于无形资产两人合伙做网站但不准备开公司
  • 五大类型网站网站建设投标文件
  • 崇明区建设镇网站装修公司网站制作
  • 哪些网站可以做房产推广呼家楼街道网站建设
  • 微网站怎么开通萝岗手机网站建设
  • 牙科医院网站开发内江市住房和城乡建设局网站电话号码
  • 网站建设的想法和意见芜湖的网站建设公司
  • 效果好的网站建设wordpress主题基础
  • html5建设摄影网站意义crm免费客户管理系统
  • win2008 建立网站网站策划书的撰写流程
  • 德泰诺网站建设百度网盘资源搜索引擎入口
  • 谁能给个网站谢谢wordpress 主题 后门