2.小程序-数据绑定

初始化数据:
    1.页面.js的 data 选项中
    index.js 文件中代码展示:
// pages/index/index.js
Page({
 
 
/**
* 页面的初始数据
*/
data: {
    message:'初始化测试数据'
},
 
 
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
    console.log('onLoad()');
    // 页面加载最先执行的函数,类似vue中的created/mounted获取数据
    // 这里来修改一下 message 初始化的数据,语法:this.setData
    console.log(this) // this 代表当前页面的实例对象
    // vue/react 里的 this代表当前组件的实例对象
    // vue 如何实现数据的劫持和代理的,即可以this.XXX 而小程序则使用 this.data.XXX
    console.log(this.data.message)
    // 同一个函数中修改是同步的,react里同一函数内修改是异步的要想同步需要在另一个函数中写;
    // this.setData({
        // message : '修改之后的数据'
    // })
    // 看修改是否在其他函数中是否也是同步的
    setTimeout(()=>{
        this.setData({
            message : '修改之后的数据'
        })
        console.log(this.data.message)
     }, 2000)
},
 
使用数据:
    1.模板结构中使用双大括号 {{message}}
    2.注意事项:小程序中为单项数据流 model ---> view;
index.wxml 文件中代码展示:
<view class="indexContainer">
    <image class="avatarUrl" src="/static/images/nvsheng.jpg"></image>
    <text class="userName">G『 s 』</text>
    <view class="goStudy">
        <text>{{message}}</text>
    </view>
</view>
修改数据:
    1.this.setData({message:""}, callback)
    2.this 打印出来是一个 对象;
 
数据绑定和修改对比小程序  Vue  React
    1.小程序
        1.data中初始化数据
        2.修改数据:this.setData()
            1.修改数据的行为始终是同步的
        3.数据流:
            1.单向的:Model ---> View
 
    2.Vue
        1.data中初始化数据
        2.修改数据:this.key = value
        3.数据流:
            1.Vue是单向数据流:Model ----> View 
            2.Vue中实现了双向数据绑定:v-model
 
    3.React
        1.state中初始化数据
        2.修改数据:this.setState()
            1.自身钩子函数中(componentDidMount)异步的
            2.非自身的钩子函数中(定时器的回调) 同步的
        3.数据流:
            1.单向:Model ---> View 
 
官网的位置:框架---> WXML 语法参考--->数据绑定
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
posted @ 2021-02-26 15:19  以赛亚  阅读(144)  评论(0编辑  收藏  举报