编写新闻阅读列表
Swiper组件
App.json里关于导航栏、标题配置
Page页面和应用程序的生命周期
数据绑定(核心知识)
数据绑定的运算与逻辑
AppData区域介绍
事件与事件对象
缓存
列表渲染(核心知识)
Template模板的使用(核心知识)
单个页面下面的json只能配置window选项,不能配置别的像pages选项。而且配置window选项的时候,不加window
例如 {
"window"{
"navigationBarBackgroundColor": "#b3d4bd"
}
}
会报错。应该直接把window去掉。
CSS选择器
①当一个元素定义了它的id属性,就可以用#加id名,定义它的样式。如:
<p id="content"> 这是一个定义了id属性值为content的段落标签 </p>
在CSS中设置它的样式:#content{ color:red; }
【在一个页面中id值是唯一的】
②当一个元素定义了它的class属性,就可以用点(.)加class名,定义它的样式。如:
<p class="content"> 这是一个定义了id属性值为content的段落标签 </p>
在CSS中设置它的样式:.content{ color:red; }
【在一个页面中,class值相同的元素,共享用该class名定义的样式。】
③没加的为标签选择器,选择器的名字直接是元素名。如:
p{ color:red; } 指设置所有p元素的字体颜色为红色。
this.setData(array1);
function(event)
var postId = event.currentTarget.dataset.postid;
wx.navigateTo({
url: "post-detail/post-detail?id=" + postId;
})
在接受这个ID的json文件中
onload: function(option){
var id = option.id;
}
冒泡事件:组件的子组件事件会引发父组件事件 一层一层往上传。有一些特定的组件才会有。阻止事件冒泡的方法是bind改成catch。例如,bindtap改成catchtap
以data开头的自定义数据属性的定义 以及在脚本中获取自定义数据属性。
data-postId='{{item.postId}}' 在wxml中的定义。
var postId = event.currentTarget.dataset.postid;在脚本中的获取。
在template模板中文件最好用绝对路径。
真机上由于没有缓存清理功能,可能会在测试的时候引发一些问题。
------------------------------------------------------------------持续更新----------------------------------------------------------------
bindtap和catchtap的区别。
bindtap不会阻止冒泡,事件会继续向上级冒泡。catchtap会使事件阻止冒泡。
onLoad函数中不操作跟界面UI相关的函数! 应该在onReady函数当中执行。
回调函数
在回调中,我们利用某种方式,把回调函数像参数一样传入中间函数。可以这么理解,在传入一个回调函数之前,中间函数是不完整的。换句话说,程序可以在运行时,通过登记不同的回调函数,来决定、改变中间函数的行为。这就比简单的函数调用要灵活太多了。
例如,
function http(url, callBack) {
wx.request({
url: url,
// data: {},
method: 'GET',
header: {
"Content-Type": "json"
},
success: function (res) {
callBack(res.data);
},
fail: function (error) {
console.log(error)
}
}) //这里是回调函数
processDoubanData: function(moviesDouban,settedKey,categoryTitle) {
var movies = [];
for (var idx in moviesDouban.subjects) {
var subject = moviesDouban.subjects[idx];
var title = subject.title;
if (title.length >= 6) {
title = title.substring(0, 6) + "...";
}
var temp = {
stars: util.convertToStarsArray(subject.rating.stars),
title: title,
average: subject.rating.average,
coverageUrl: subject.images.large,
movieId: subject.id
};
movies.push(temp);
} //这里是另外一个函数
util.http(nextUrl,this.processDoubanData);
//以上是回调函数的调用。第二个参数直接传过去一个函数名就OK了,之后再回调这个函数。