站内搜索:
首页 >> 前端 >> 内容
knockout监控对数据的调用的实现方法

时间:2017/12/11 11:23:56

可能使用了观察者模式,在ko.observable中埋伏了.fire(),每当调用observable对数据进行更改时,fire()会通知viewmodel,以这种方法监控对数据的调用。以下是我理解的实现方式:

function observable(value){
    return function(replaceVal){
        if(replaceVal){
            ko.fire() //通知viewModel有改动
            value = replaceVal;
        }else{
            return value;
        }
    }
} 

用data-bind绑定view和model。考虑到表现和行为的分层,data-bind最好在js中的init函数中写入。 在octopus模式中,对data的取用往往需要在octopus对象上增添一个相应的method,这很笨拙且浪费资源。ko用obsevable返回的函数来代理data变量,解决了这个问题。

  • 上一篇:如何用Django分页器实现文章分页?
  • 下一篇:跨域问题的解决办法
  • 返回顶部