添加像extend这样的方法,使用ko.observable流利地使用

时间:2017-08-19 20:42:28

标签: knockout.js knockout-validation

我想知道是否有办法,我可以编写一个新方法test(),可以像ko.observable().test()一样使用,我实际上可以获得其中的observable的引用。我想要做的是,而不是写ko.observable().extend({extenderName: "value"})我想写ko.observable().extenderName(arg1, arg2)

1 个答案:

答案 0 :(得分:1)

您可以将其添加到ko.observable.fn,如下所示:

ko.observable.fn.test = function(arg1) {
  console.log(this() + "," + arg1);
};

var obs = ko.observable("hello");

obs.test("world");
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>

JS小提琴:https://jsfiddle.net/c8z8c2r8/