【问题标题】:Subscribe on a propert of vm in array ko订阅数组 ko 中 vm 的属性
【发布时间】:2012-01-27 22:39:19
【问题描述】:

我是淘汰 js 的新手,得到了一个可观察的数组,在填充数组时,我订阅了我添加的每个实例的属性,当属性发生变化时(由于用户交互),我需要知道哪个对象发生了变化,但淘汰赛只给我相关属性的新值。 是否有可能获得对象? (我在函数上下文中尝试了“this”但没有成功)

  length.isSelected.subscribe(function (isSelected) {
                if (isSelected) { // no access to actual object only the isSelected value
                    debugger;
                    spotLenghts.push(this);
                } else {
                    spotLenghts.pop(this);
                }
            });

【问题讨论】:

    标签: knockout.js


    【解决方案1】:

    subscribe 函数采用第二个参数,即target。当你的函数被执行时,它将控制this 的设置。

    因此,您可以潜在地将length(或您正在创建的更高级别的对象)作为第二个参数传递,并能够在您的处理程序中使用this

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-12
      • 2019-03-19
      • 2019-01-03
      • 1970-01-01
      • 2019-04-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多