app.json
不可添加数据 微信小程序中的每一个页面的【路径+页面名】都需要写在 app.json 的 pages 中,且 pages
中的第一个页面是小程序的首页。(多页面的时候,通过更改这个顺序进行调试)
wx:for
在组件上使用wx:for控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。
默认数组的当前项的下标变量名默认为index,数组当前项的变量名默认为item
<view wx:for="{{array}}">
{{index}}: {{item.message}}
</view>
<text>
行内元素。直接设置margin值无效,需要同时规定display:block
数据绑定之后的动态修改
在data中指定{{某数据}}的绑定对象后,并不能让这个绑定的数据随着绑上去的变量更改而更改。需要在出发数据修改的事件中,增加dataSet,才能修改这个绑定的数据。
<!-- This is our View -->
<view> Hello {{name}}! </view><button bindtap="changeName"> Click me! </button>
// This is our App Service.
// This is our data.
var helloData = {
name: ‘WeChat‘
}
// Register a Page.
Page({
data: helloData,
changeName: function(e) {
// sent data change to view
this.setData({
name: ‘MINA‘
})
}
})
表单提交及数据获取
在表单中绑定提交事件bindsubmit,在button中设置form-type为submit。通过e.detail.value.textarea即可获取输入的内容。
注意:wxml中,textarea的name值必须是textarea,不能更改,否则无法获取数据,也不会报错。
<!--textarea.wxml-->
<form bindsubmit="bindFormSubmit">
<textarea placeholder="form 中的 textarea" name="textarea"/>
<button form-type="submit"> 提交 </button>
</form>
//textarea.js
bindFormSubmit: function(e) {
console.log(e.detail.value.textarea)
}
overflow:hidden
父层要设置position:relative,这个overflow的设置才会对设置了position:absolute的子层有效
动态修改CSS样式
将数据绑定在style参数中,可以通过data来控制参数。
<!--wxml-->
<view class="block p3" style="left:{{p3left}}rpx; top:{{p3top}}rpx; transform:scale({{scale}})">
//.js
Page({
//初始化数据
data:{
p3left:600,
p3top:10,
scale:0.8
}
})