this
this指的应该是当前的Page对象。this.data指的应该就是js代码中Page函数中data属性,从而可以通过this.data.再去调用data已经定义的变量。(可以参考JavaScript中对this的解释:http://caibaojian.com/deep-in-javascript-this.html)
Tip:this
的值并不是由函数定义放在哪个对象里面决定,而是函数执行时由谁来唤起决定。
this.setData({}):
作用:setData函数主要用于将逻辑层数据发送到视图层,同时对应的改变this.data.的值。
参数定义:Object 以 key : value 的形式表示,将 this.data 中的 key 对应的值改变成 value。
工作原理
小程序的视图层目前使用 WebView 作为渲染载体,而逻辑层是由独立的 JavascriptCore 作为运行环境。在架构上,WebView 和 JavascriptCore 都是独立的模块,并不具备数据直接共享的通道。当前,视图层和逻辑层的数据传输,实际上通过两边提供的 evaluateJavascript
所实现。即用户传输的数据,需要将其转换为字符串形式传递,同时把转换后的数据内容拼接成一份 JS 脚本,再通过执行 JS 脚本的形式传递到两边独立环境。而 evaluateJavascrip