小程序和iOS数据绑定
在微信小程序中,开发 UI 功能模块,绝对比的上 iOS 原生开发。它已经提供了一套成熟的数据绑定方式,而不需要引入其它库。而在 iOS 中我们同样可以做数据绑定,然而需要花费一定的时间来学习一些数据绑定的框架,比如 RAC,RxSwift。这里主要以 RxSwift
为例说明。在小程序中,假如实现一个功能,点击按钮修改昵称,可以这样实现:
Page({
data: {
nickName: 'Lefe_x'
},
changeNickNameAction: function () {
this.setData ({
nickName: 'Lefe'
})
}
})
直接修改数据源 data
中的 nickName
即可让新的昵称(Lefe)显示到控件上。看看具体的数据绑定实现:
<view class="main-container">
修改昵称
</view>
nickName
与一个 Text
的控件绑定到了一起,这样只要 nickName
发生改变,就会显示到 Text
控件上。而在 iOS 中我们可以使用 RxSwift
做数据绑定。比如:当 nickNameTextField
输入内容后,将显示在 nickNameLabel
上。
class MiniViewController: UIViewController {
let disposeBag = DisposeBag()
@IBOutlet weak var nickNameTextField: UITextField!
@IBOutlet weak var nickNameLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
nickNameTextField.rx.text.bind(to: nickNameLabel.rx.text).disposed(by: disposeBag)
}
}