上一章即微信小程序之view的flex布局(1)里,我们学习了flex容器的属性,总结一下它里面包括
(1)flex-direction 设置容器内子元素即flex-item的排列方向。
(2)flex-warp 设置容器内子元素是否换行。
(3)justify-content 设置子元素在横轴即X轴的排列位置
(4)align-items 设置子元素在Y轴的排列位置
(5)align-content 设置子元素在多个主轴线上排列的位置。
下面我们来讲讲 flex-item的属性,在flex容器中,每个子元素就是一个flex-item
如果item没有设置order,则order默认为0,如图我设置了view2,3,4的位置为3,2,1 看效果图:
如果所有项目的flex-grow属性都为1,则它们将等分剩余空间(如果有的话)。如果一个项目的flex-grow属性为2,其他项目都为1,则前者占据的剩余空间将比其他项多一倍。效果看图:
因为设置了view3,4设置了left-align属性 ,所以没有均分,大家可以去掉尝试一下。
直接上图
flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。
该属性可能取6个值,除了auto,其他都与align-items属性完全一致。
资料地址 demo 地址
首先在wxml中是无法显示appjs中的全局变量(也就是appjs里面globalData中的变量),如果想用到appjs中的变量时可以在当前页面中的js文件里面先将全局变量获取的本地。举例子如下
------------------------分割线---------------------------
需求:将全局变量中的test:"hello world!" 显示到当前页面
-----------------------分割线--------------------------
appjs文件内容
App({
globalData{
test:"hello world"
}
})
-----------------------分割线---------------------
indexjs文件内容
var app =getApp()
Page({
test:null
})
onLoad: function (options) {
thissetData({
test:appglobalDatatest
})
}
---------------------分割线------------------------
indexwxml文件内容
<view>{{test}}</view>
您好,可以这样设置:
function setData(){var that = this;
thatsetData({
smart_cookies_city:'134',
cityname:'南京'
})
}
一:url带参数传递
与前端语言一样,小程序页面间的传递可以通过在路由url后接参数,路由的同时会将参数一并传递到新的页面。
indexwxml:
效果图:
二:将值存入全局变量
我们同样可以将需要的值存入全局变量中,在需要的地方直接引用就好了。
需要用到全局变量时记得要先获取应用实例: const app = getApp()
三, 用event传值
JS文件
<view>父组件msg的值:{{msg}}</view>
<Header msg="{{msg}}" bindchildChange="change" ></Header>
<block wx:for="{{list}}" wx:key="index">
<ListItem rItem="{{item}}" bindchildGO="childGO"></ListItem>
</block>
<Header msg="{{msg}}"></Header>
/ pages/list/listwxss /
item{
padding: 5px;
}
img1{
width: 120px;
height: 120px;
border-radius: 5px;
}
row{
flex: 1;
height: 120px;
}
title{
padding: 10px;
}
dec{
padding:0 10px;
}
// pages/list/listjs
Page({
/
页面的初始数据
/
data: {
msg:"你是我的小宝贝",
list:[{
url:">
小程序开发中遇到的问题:小程序中嵌套了一个webview页面,webview页面中有静默授权(A1页面静默授权后重定向到A2页面),点小程序原生的返回按钮会返回到A1页面,然后页面就会反复静默授权
解决方案:通过 historypushState 添加历史记录名目, historyonpopstate 监听历史记录条目发生变化时,调用小程序 APIwxnavigateBack
刚开始想的解决办法是用localStorage,跳转到A2时存储一个值,返回到A1时获取这个值,如果有值就清除这个值并且回退到小程序页面。听起来似乎也可行,但小程序的缓存和微信的缓存是同步的,如果在微信环境中直接访问A1页面,重定向到A2会存值,如果直接关闭页面,不会被清除,那么在小程序中访问时就直接回退了。
文章转自微信社区
解决小程序中webview页面多层history返回问题
以上就是关于微信小程序之view的flex布局(2)全部的内容,包括:微信小程序之view的flex布局(2)、微信小程序WXML页面如何获取全局变量值、微信小程序 设置view 里面的data-id值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)