| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> 自学小程序之路(二),来自一个Android 开发人员的碎碎念 -> 正文阅读 |
|
[移动开发]自学小程序之路(二),来自一个Android 开发人员的碎碎念 |
上篇说index目录下的四个同名文件构成了index页面。那么这些页面是怎么合作的呢?? 上篇说index目录下的四个同名文件构成了index页面。那么这些页面是怎么合作的呢?? 首先,来看wxml页面。
这个文档里写了很多,我们先只看最后一个view 这个文件是按照HTML语言的格式来写的。 它的作用呢相当于Android 项目中的xml布局文件。 排列规则:在Android的xml布局中,所有的控件都是在有顺序规定的布局里面的,如LinearLayout规定垂直或水平排序,RelativeLayout则是所有的控件如果不指定位置的话都一层层摞在了左上角。 我看这个文档就很奇怪,各种view套view也没地方指明这个view放在父组件的什么位置。 问了问前端的朋友,他告诉
那么怎么确定我们的元素是占了一行还是不占一行呢? 在HTML中,每一个元素都有一个内置属性叫做display,默认值为block(独占一行)或者inline(行内排列). 那么在wxml的语言中,都有哪些元素呢,它们是都占据一行呢? https://developers.weixin.qq.com/miniprogram/dev/component/cover-image.html 这就是官方给出的微信的组件元素。就是说我们在wxml中可以写的<>中的元素。类似于罗列出了Android 中的textview imageview等控件。 容器类的大都是独占一行的,而基础内容类和表单组件等大都是行内, 实在不放心可以在wxss文件中重新定义display的属性。这是后话。 组件样式:在修改样式前,我们要知道一个组件的样式是由哪些属性来决定的。 微信官方文档给的组件的属性有了说明,这些都是这个组件在微信中的特有属性。 但是并不全,比如width,height,margin,padding等其实这是每个元素都有的基本属性。 而这些基本属性叫什么名字,以及什么规则从哪里看呢,这里就要要邀请出CSS同学了。 https://www.w3school.com.cn/css/css_colors.asp 从这个教程可以看到css可以定义的属性。包括颜色,背景色和边距,边框等。 知道是这些属性和微信给的特色属性来决定一个组件的样式后。 我们再来谈如何设定他们的样式。 1.通过内联样式修改 这种方式就是给组件添加一个style属性,在style这个属性里规定这个组件的颜色等外观属性的设置。 如
这个样式就是说把text的字体颜色设置为红色,同时字体大小设置为40像素 采取key:value的变现形式。同时不同的属性之间用;隔开。 这种内联样式的适用于修改一个或几个等少数的特殊样式的组件。 如果组件的样式比较统一的话推荐👇的修改方式。 2.通过选择器修改 这个就是更类似于Android写xml时指定了这个组件的style。同时style的样式存放于另外的文件中。 不过区别是
class就相当于Android 中的style,那么这个usermotto是表示引用的class名称。 而这个叫做usermotto的class实在哪里被定义的呢,这就用到了wxss文件。 WXSS文件这个文件其实是和css文件的语法一样的 打开我们的index.css文件,在这里面可以看到有一个.usermotto
这里可以看到里面有一个margin-top的属性。 把它改造一下。改为
Ctrl+S保存一下,程序会自动编译 会看到页面 可以看到text的样式也是发生了变化。和上面的内联样式是一样的。 那么这种利用class属性来控制样式就叫做类选择器,是选择器的一种。 微信官方支持的选择器有如下几种。 分别试验一下 id选择器
这样的组合就会使字体变为蓝色。不贴图了,自己可以去试验 元素选择器
伪元素选择器:
选择器这几个样式大都以罗列完毕,平常写的时候组合使用即可。 记录一下图片组件加载本地和网络图片的情况 本地图片 根目录新建image文件夹来存放本地图片。
网络图片
OK,搞明白了样式的展示,接下来看看这些页面是怎么被附上数据的。
JS文件Android中如果用过MVVM架构,那么在xml中会有过这种写法
这种写法,其实和小程序wxml的数据绑定有异曲同工之妙
而motto是指的什么呢,打开js文件就可以找到这个数据了。
可以看到motto是一个类似json格式的key,同时它的值是helloworld也就是我们展示在页面上的值。 看到这里,再去了解一下官方对Page的说明 宿主环境提供了 Page() 构造器用来注册一个小程序页面,Page()在页面脚本page.js中调用。 它的参数是一个对象,这个对象有如下属性👇 ?可以理解为整个js文件就是写了一个Page(Object param)对象的构造函数。 而这个构造函数的参数是个对象param,这个参数param对象包括了data和各大生命周期的方法。 在Javascript中,对象的定义和Java略有不同。
wow,果真是强大的var. JavaScript中 对象用花括号来书写。 对象属性是?name:value?对,由逗号分隔。 实例
这就是定义了一个person的JS对象。 比如page这个对象,它里面的data是对象,那么我们就可以这样写
只不过,在index.js中,把所有的对象都展开显示了。类似于隐形声明了👆的content对象 总之呢,就是page这个构造器里面就包括了名为data的对象,这个对象的属性有作为了wxml的数据来源。 这也解释了为什么我们的text显示helloworld的原因。 JSON文件这个文件主要用于设定页面的标题展示,标题风格,以及生命引用的自定义组件等。暂时不表,后期用到会说明。 OK,大体了解了小程序的页面显示样式和数据绑定,下一篇看一下如何修改数据以及对更复杂的数据的应用。 |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/25 16:22:22- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |