Vue项目 day09 图片分析

## 改造图片分析 按钮为 路由的链接并显示对应的组件页面

## 绘制 图片列表 组件页面结构并美化样式
1. 制作 顶部的滑动条
2. 制作 底部的图片列表
### 制作顶部滑动条的坑们:
1. 需要借助于 MUI 中的 tab-top-webview-main.html
2. 需要把 slider 区域的 mui-fullscreen 类去掉
3. 滑动条无法正常触发滑动,通过检查官方文档,发现这是JS组件,需要被初始化一下:
+ 导入 mui.js
+ 调用官方提供的 方式 去初始化:
```
mui('.mui-scroll-wrapper').scroll({
deceleration: 0.0005 //flick 减速系数,系数越大,滚动速度越慢,滚动距离越小,默认值0.0006
});
```

4. 我们在初始化 滑动条 的时候,导入的 mui.js ,但是,控制台报错: `Uncaught TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on strict mode`
+ 经过我们合理的推测,觉得,可能是 mui.js 中用到了 'caller', 'callee', and 'arguments' 东西,但是, webpack 打包好的 bundle.js 中,默认是启用严格模式的,所以,这两者冲突了;
+ 解决方案: 1. 把 mui.js 中的 非严格 模式的代码改掉;但是不现实; 2. 把 webpack 打包时候的严格模式禁用掉;
+ 最终,我们选择了 plan B 移除严格模式: 使用这个插件 babel-plugin-transform-remove-strict-mode

去除这个严格模式是属于:bable,应该是es6中的东西吧。npm这个包之后,我们还要在bablerc中添加

"transform-remove-strict-mode"这个节点

这个滑动,bug怎么那么多

5. 刚进入 图片分享页面的时候, 滑动条无法正常工作, 经过我们认真的分析,发现, 如果要初始化 滑动条,必须要等 DOM 元素加载完毕,所以,我们把 初始化 滑动条 的代码,搬到了 mounted 生命周期函数中;
6. 当 滑动条 调试OK后,发现, tabbar 无法正常工作了,这时候,我们需要把 每个 tabbar 按钮的 样式中 `mui-tab-item` 重新改一下名字;
7. 获取所有分类,并渲染 分类列表;

methods和mounted的区别

mounted : 在这发起后端请求,拿回数据,配合路由钩子做一些事情 (dom渲染完成 组件挂载完成 )

methods中一般都是定义的需要事件触发的一些函数。每次只要触发事件,就会执行对应的方法。如果把computed中的方法写到method中会浪费性能。computed必须返回一个值页面绑定的才能取得值,而methods中可以只执行逻辑代码,可以有返回值,也可以没有。

每个 Vue 实例在被创建时都要经过一系列的初始化过程——如,需要设置数据监听、编译模板、将实例挂载到 DOM 并在数据变化时更新 DOM 等。同时在这个过程中也会运行一些叫做生命周期钩子的函数,这给了用户在不同阶段添加自己的代码的机会。

下图是实例的生命周期,在生命周期的各个阶段都会有相应的钩子函数。从图中可以看出,created运行时,还未挂载到DOM,不能访问到$el属性,可用于初始化一些数据,但和DOM操作相关的不能在created中执行;monuted运行时,实例已经挂在到DOM,此时可以通过DOM API获取到DOM节点。

生命周期那张图自己看官网

意思是说,页面还没有加载完毕,我是获取不到dom元素的,比如jquery  $符号,当页面没有加载完毕,

我们是获取不到元素的

看来Vue的周期函数还是有点意思的啊

如何修改别人的类名

所有相关的都要重新的写下来

猜你喜欢

转载自www.cnblogs.com/Py-king/p/11619528.html