mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-05-30 18:43:21 +08:00
[knockout] Introduce specialized signatures for subscribe method, specifically common "change" and "beforeChange"
Add subscribe for "arrayChange" event for observable array (fixes #11203) Improve KnockoutArrayChange status typing.
This commit is contained in:
@@ -680,3 +680,38 @@ function test_tasks() {
|
||||
setTimeout(callback, 0);
|
||||
};
|
||||
}
|
||||
|
||||
function observableEventsTests() {
|
||||
var observable = ko.observable(1);
|
||||
observable.subscribe(value => {
|
||||
var num: number = value;
|
||||
});
|
||||
observable.subscribe(value => {
|
||||
var num: number = value;
|
||||
}, null, "change");
|
||||
observable.subscribe(value => {
|
||||
var num: number = value;
|
||||
}, null, "beforeChange");
|
||||
}
|
||||
|
||||
function observableArrayEventsTests() {
|
||||
var observableArray = ko.observableArray([1, 2, 3, 4]);
|
||||
observableArray.subscribe(array => {
|
||||
var arr: number[] = array;
|
||||
});
|
||||
observableArray.subscribe(array => {
|
||||
var arr: number[] = array;
|
||||
}, null, "change");
|
||||
observableArray.subscribe(array => {
|
||||
var arr: number[] = array;
|
||||
}, null, "beforeChange");
|
||||
var count = 0;
|
||||
observableArray.subscribe(changes => {
|
||||
changes.forEach(change => {
|
||||
if (change.status == "added")
|
||||
count++;
|
||||
else if (change.status == "deleted")
|
||||
count--;
|
||||
});
|
||||
}, null, "arrayChange");
|
||||
}
|
||||
Reference in New Issue
Block a user