微信小程序、uniapp仿扎克新闻(附源码)

2023-12-13 16:31:22

介绍

本着试试 mpvue 的态度开发此程序,界面主要是模仿 ZAKER 新闻,数据全部是由 Mock 随机生成的,使用的是 Easy-Mock 服务。本程序只开发了的几个页面,尝试了自定义组件,路由跳转及参数传递等功能。再开发下去只是组件的堆积和页面的拼装,所以停止了开发。几个页面的预览图如下所示:

在这里插入图片描述

安装

源码获取:关注微信公众号【码农园区】,回复【uniapp源码】
cd mpZAKER && yarn
yarn dev

可以在自己喜欢的编译器中进行开发(Sublime,Atom 或其它),然后在微信开发工具中查看实时效果即可。

开发记录

项目中使用到的图片,只有放置在 static 目录下,才可以正常访问。

小程序的 globalDatampVue 下不可以使用,共享全局变量需要使用 Vuex

样式文件可使用 scss 预处理,不需要任何配置,安装 sass-loadernode-sass 就可以直接使用。

同一个组件,有的时候可能需要有不同的样式,比如不同的背景,不同的字体大小等。在这里插入代码片由于 mpvue 并不能绑定一个 styleObject。有一种做法是先把样式写好,并以不同的名字命名。

.card-img-bg-0 {
    background-image: linear-gradient(45deg, #ff9a9e 0%, #fad0c4 99%, #fad0c4 100%);
}

.card-img-bg-1 {
  background-image: linear-gradient(120deg, #a1c4fd 0%, #c2e9fb 100%);
}

.card-img-bg-2 {
  background-image: linear-gradient(to top, #f77062 0%, #fe5196 100%);
}

.card-img-bg-3 {
  background-image: linear-gradient(-20deg, #00cdac 0%, #8ddad5 100%);
}

然后在 computed 中定义好方法,返回要使用的类名即可。类可随机也可根据 props 中的属性进行选择。

computed: {
  bgClass() {
    const length = 4;
    const index = Math.floor(Math.random() * length);
    return `card-img-bg-${index}`;
  }
}

所有页面的 created 方法都会在首页加载时触发,如果每个页面都有 http 请求时,这种机制就不是很合理了。虽然 mpvue 官方不推荐使用小程序自身的生命钩子方法,但是面对这种情况只能使用 onLoad 方法。

源码截图:

在这里插入图片描述

说明

如果本项目对您有帮助,欢迎 “点赞,关注” 支持一下 谢谢~

源码获取关注公众号「码农园区」,回复 【uniapp源码】
在这里插入图片描述

文章来源:https://blog.csdn.net/lwzhang1101/article/details/134973144
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。