# vueProject **Repository Path**: dreamman123/vueProject ## Basic Information - **Project Name**: vueProject - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-09-04 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # vue-project > A Vue.js project test git 1111111 ## Build Setup ``` bash * install dependencies npm install # serve with hot reload at localhost:8080 npm run dev # build for production with minification npm run build # build for production and view the bundle analyzer report npm run build --report # run unit tests npm run unit # run all tests npm test ``` For a detailed explanation on how things work, check out the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader). #新闻界面 1.画界面 2.获取数据 3.把数据渲染到页面上 ##1.新闻资讯详情 路由链接的改造 1.1改造新闻链接 router-link 1.2新建一个新闻详情的组件 1.3在index.js导入组件 2.绘制新闻资讯详情页面 3.请求数据 要有一个id参数,这个id在跳转的时候就拿过来,才能拿到对应的详情页面 4.把数据渲染到页面上 #子组件的导入,和注册 如果某一个组件要使用某个子组件那么? 如果某个组件要用到另一个子组件,那么就在父组件里面导入子组件 import A from B 2.在父组件的components里面注册一下子组件 components:{ 'my-com':com } 3.将子组件的名称当做标签就可以引用子组件 #获取评论的数据,并渲染到页面上 1.要获取新闻资讯的id传给子组件commit,就是父组件向子组件传值 2.子组件拿到父组件的id时,在props中定义一下就能使用id了,pageIndex保存在data中,不能一直获取第一页的数据 3.在methods里面定义一个获取新闻资讯的方法 4.这个方法在created函数中调用 #点击加载更多获取,其余的数据 1.给加载更多绑定一个点击事件,点击事件每执行一次,我们要获取其它页面的数据,就让pageIndex加1 2.然后在调用次发起获取评论的数据的方法,且不能覆盖原有的数据,那么就使用,数组的contact方法,让旧数据拼接新数据。 #完成发表评论 1.利用v-model获取评论的内容 2.把评论的内容发送 post请求发送到数据库 3.重新获取评论的数据,并渲染到页面上 #完成图片分享的滚动条 在photoList.vue导入mui的js文件 1.利用mui框架 2.添加好代码片段发现无法滚动 经过查看官方文档发现,注意若使用区域滚动组件,需手动初始化scroll控件 , mui('.mui-scroll-wrapper').scroll({ deceleration: 0.0005 //flick 减速系数,系数越大,滚动速度越慢,滚动距离越小,默认值0.0006 }); 这是js的代码,需要引入mui的js文件,同时这个js控件在初始化的时候,利用了类选择器,就是当页面上有这个元素的时候,才能选中'.mui-scroll-wrapper',所以应该在mounted钩子函数调用它,因为mounted函数,页面上已经渲染好DOM结构,且数据已经加载到页面上了 1.运行后出现了这个错误 TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or the arguments objects for calls to them typeerror:不能在严格模式函数或对其调用的参数对象上访问“caller”、“callee”和“arguments”属性 解决办法 是解除严格模式 2.在vue 项目中引入 mui ,报错'mui' is not defined 在//photoList.vue组件中引入mui的js包 import mui from'../../lib/mui-master/dist/js/mui.min.js' 在webpack.base.conf.js加入 externals: { mui: 'mui' } #获取图片分类的数据 获取数据成功后,但是发现图片分享的滚动条的样式不对劲 每个元素都有 mui-active 实际上v-for循环的时候,只有全部默认被选中,按条件添加'mui-active'这个类 绑定class属性改变样式 :class="['mui-control-item',item.id==0?'mui-active':''] #实现图片数据的懒加载 1.查看mint-ui文档的懒加载来使用懒加载技术 lazy-load 2.请求获取图片数据 完成获取请求图片资源的函数 getPhotoList(id) 默认,进入的图片分享页面时,获取'全部分类'下的图片 created(getPhotoList(0)) 点击不同的分类要获取对应的图片数据 v-lazy放图片的url地址