本文参考自: 原文地址
本人安卓出身,前段时间公司搞小程序,反正安卓不太忙,帮着大家一些弄弄。总结了一些小方法,写的不好,仅供参考。不足之处多见谅。
1,转跳界面
(1)
wx.navigateTo(OBJECT)
这个接口是跳转到一个应用内的某个页面,但是,保留着当前页面,
(2)
wx.navigateBack(OBJECT)
关闭当前页面,返回上一页面或多级页面。可通过
getCurrentPages()
获取当前的页面栈,决定需要返回几层。
(3)
wx.redirectTo(OBJECT)
关闭当前页面,跳转到应用内的某个页面。
接口wx.redirectto与wx.navigateTo的OBJECT 参数相同,
这两个接口里面的路径url后可以带参数,例如:
wx
.redirectTo({
url: 'test?id=1'
})
2,转跳界面,赋值并且接收参数
bindViewTap: function() {
wx.navigateTo({
url: '../logs/logs?name=hello'
url: '../../commute_tq/?cjr=' + a + "&lxr=" + rt//多个参数传递
})
},
接收参数
Page({
data: {
nickname:'default',
logs: []
},
onLoad: function (query) {
this.setData({
nickname:query.name
});
}
})
3,换行
var a =
"7777"
var b =
"555"
var initData = a+"\n"+b;
4,更改text赋值
(1)在data里定义一个参数
data: {
text: initData
},
(2)可以给他赋值,也可以不赋值
var initData = a+"\n"+b;
(3)调用方法
add:
function (e) {
this.setData({
text: initData="741"//赋值操作
})
},
(4)xml文件。
<text>{{text}}</text>
5,获取input的值
XML文件:
<input class='create-title' placeholder="投票标题" bindinput="voteTitle"></input>
js文件不能写在data里,要写在data之外
voteTitle: function (e) {
console.log(
"888" + e.detail.value);
},
(5.1) 更改添加 input 的值
<
input
class=
"fl"
type=
'text'
bindinput=
"people_name"
value =
"{{bannername}}">
</
input
>
6,js时间戳转换
viewtap: function () {
console.log("1231233");
this.setData({ motto:"233"})
console.log(utils.formatOnlyTime(new Date(4800000)));
// 1486084800000
console.log(utils.formatTime(new Date(1486084800000)));
console.log(utils.formatOnlyDate(new Date(1486084800000)));
}
const formatOnlyTime = date => {
const year = date.getFullYear()
const month = date.getMonth() + 1
const day = date.getDate()
const hour = date.getHours()
const minute = date.getMinutes()
const second = date.getSeconds()
return [hour, minute, second].map(formatNumber).join(':')
// return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}
const formatOnlyDate = date => {
const year = date.getFullYear()
const month = date.getMonth() + 1
const day = date.getDate()
const hour = date.getHours()
const minute = date.getMinutes()
const second = date.getSeconds()
return [year, month, day].map(formatNumber).join('/')
// return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}
formatOnlyTime: formatOnlyTime,
formatOnlyDate: formatOnlyDate
var utils = require('../../utils/util.js')
7,引用js文件
(1)引入本地json数据,这里引入的就是第一步定义的json数据
(2)var postData = require('../../data/posts-data.js');
8,返回父界面并传值
(1)子界面的js
//获取页面栈
let pages = getCurrentPages();
//上一个页面实例对象
let prepage = pages[pages.length -
2];
//把得到的值回调给上个界面
prepage.setData({
phone: cjrphone.toString(), //传递参数,随便写
});
//返回到上一个界面
wx.navigateBack({
})
(2)父界面的on show()方法
onShow: function () {
newname =
var phone = this.data.phone.toString();//获取差参数
var len =
phone
.length;
if (len >
0) {
this.setData({
bannerphone:
phone
,//赋值
});
}
},
(3)data方法
phone: "",//一定要有phone这个参数
9,刷新父界面
(父界面)
Page
(
{
data
:
{
name
:
''
},
...
,
//更新name
changeData
:
function
(name)
{
this
.
setData
(
{
name
:
name
}
)
}
}
)
(子界面)
Page
(
{
//此方法用于文本框输入回调
inputTyping
:
function
(e)
{
//获取页面栈
var
pages
=
getCurrentPages
()
;
if
(
pages
.
length
>
1
)
{
//上一个页面实例对象
var
prePage
=
pages[
pages
.
length
-
2
]
;
//关键在这里
prePage
.
changeData
(
e
.
detail
.
value
)
}
}
}
)
10,input
右对齐的
<input type="text" style="background:'#efefef'; text-align:right" readonly value="this" />
只读的input
<input type="text" name="nodeCode" readonly value="<%=functionNodeForm.getNodeCode()%>" style="background:'#efefef'" />