gpt4 book ai didi

javascript - 扩展 Knockoutjs 对象

转载 作者:行者123 更新时间:2023-11-30 05:46:54 25 4
gpt4 key购买 nike

除了使用他们在文档中所说的内容之外,是否有扩展 KnockoutObservableAny 的方法?

ko.extenders.logChange = function(target, option) {
target.subscribe(function(newValue) {
console.log(option + ": " + newValue);
});
return target;
};

调用者:

this.firstName = ko.observable("Bob").extend({logChange: "first name"});

我更愿意直接从对象中调用它(使用 intellisense,因为我使用的是 typescript),但我无法弄清楚在哪里可以以 JQuery 可以访问的方式访问构造函数。

(function ($) {
$.fn.foo = function () {
};
})(jQuery);

然后我可以像 $().foo(); 那样调用它。

有什么想法吗?

最佳答案

您可以使用 fn“模式”向任何 ko.subscribable 添加自定义函数,如文档中所述:Adding custom functions using "fn"

所以你可以添加你的额外功能,例如添加到 ko.observableArray 中:

(function (ko) {
ko.observableArray.fn.foo = function () {
//...
};
})(ko);

或者只是简单地不使用立即执行的函数:

ko.observableArray.fn.foo = function() {
//..
}

关于javascript - 扩展 Knockoutjs 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17449753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com