淘汰订阅范围

Rob*_*ter 4 javascript binding subscribe observable knockout.js

是否有可能在Knockout中更改订阅的范围?

我有这样的事情:

element =
    {
        type: ko.observable()
        name: ko.observable()
        content: ko.observable()
    }

element.type.subscribe(this._typeChanged.bind(element))
Run Code Online (Sandbox Code Playgroud)

基本上我想要访问我订阅的属性对象.像我的代码中绑定一样,因为它绑定到整个VeiwModel而不是对象.

Joe*_*zen 6

也许淘汰处理当你订阅一个observable时你可以传递2个参数,第一个是回调,第二个是范围/上下文,尝试这样的事情:

element.type.subscribe(this._typeChanged, element)

subscribe函数接受三个参数:callback是每当通知发生时调用的函数,target(可选)在回调函数中定义this的值,而event(可选;默认为"change")是事件的名称接收通知.

参考.http://knockoutjs.com/documentation/observables.html