1.值更改触发时间
更改view后,焦点离开当前dom元素,view-model的值就改变。你可以设置valueUpdate: "afterkeydown"
使得view值改变,view-model值立马改变(类似于onkeyup事件)。
更改view-model后,view的值立马改变。
2.注意引用传递和值传递
值传递,最常见的就是你model类型是string和number,于是你改了model的值,view-model不变。
引用传递,最常见的就是Array类型,你的Model类型Array数据,shift()了,你的view-model改变,你的view也改变了。
3.select元素的单击事件
select元素,你绑定了click事件,其实是双击事件,它的单击事件是change。
4.foreach绑定
一,要求的数组格式是[{key:value1},{key:value2}] ,这可能与你数据库保存的数组格式不同。于是,你需要个转化函数。
二,如果你想绑定[value1,value2,value3]这种数组格式,要用$data。但是,这样只能显示数据,你在view里修改了数据,不会影响到view-model,因为这是值传递。
三,$parent概念,当前对象所在集合了,经常用于remove。$root概念,就是集合a包集合b包集合c,集合c的$root就是集合a,集合c的$parent就是集合b。
5.with绑定
foreach绑定的是数组,with绑定的则是对象。
6.自定义绑定
这下你牛B了,value绑定,text绑定都只是knockout自带的,你也写出yourname绑定。