我只是将typescript从v2.3升级到v2.4,现在它在knockout.validation.d.ts行上给出了一个错误:
interface KnockoutSubscribableFunctions<T> {
isValid: KnockoutComputed<boolean>;
isValidating: KnockoutObservable<boolean>;
rules: KnockoutObservableArray<KnockoutValidationRule>;
isModified: KnockoutObservable<boolean>;
error: KnockoutComputed<string>;
setError(error: string): void;
clearError(): void;
}
Run Code Online (Sandbox Code Playgroud)
这里knockout.validation试图表明KnockoutSubscribableFunction现在有额外的成员.以下是knockout.d.ts中此接口的定义:
interface KnockoutSubscribableFunctions<T> {
[key: string]: KnockoutBindingHandler;
notifySubscribers(valueToWrite?: T, event?: string): void;
}
Run Code Online (Sandbox Code Playgroud)
编译器现在抱怨:
'KnockoutComputed'类型的属性'isValid'不能赋予字符串索引类型'KnockoutBindingHandler'.
我不明白为什么它没有将这些新值视为界面中的新属性?为什么要说他们必须映射到索引签名?该文件似乎表明,你可以在同一个界面中的指数的签名和其他特性.
我把接口的初始定义带到了游乐场,它甚至抱怨notifySubscribers不能分配给KnockoutBindingHandler.
使用新编译器如何编译此代码?
现在有蛮力的方法让这个编译.我正在将knockout.d.ts定义更改为:
interface KnockoutSubscribableFunctions<T> {
[key: string]: any;//KnockoutBindingHandler;
notifySubscribers(valueToWrite?: T, event?: string): void;
}
Run Code Online (Sandbox Code Playgroud) 我知道在你的 jest.setup.js 代码中,你应该设置
Vue.config.productionTip = false;
Vue.config.devtools = false;
Run Code Online (Sandbox Code Playgroud)
我愿意。事实上,这是我的 jest.setup.js 代码。注意 console.log('yo ho');
// test/setup.js
import Vue from 'vue';
import Vuetify from 'vuetify';
import { config } from '@vue/test-utils';
import VueCompositionApi from '@vue/composition-api'; // <-- Make the import
Vue.use(Vuetify);
Vue.use(VueCompositionApi);
Vue.config.productionTip = false;
Vue.config.devtools = false;
console.log('yo ho');
// https://vue-test-utils.vuejs.org/
// and this came from: https://github.com/kazupon/vue-i18n/issues/323
// it mocks out the $t function to return the key so you can test that the right key is being used
config.mocks …Run Code Online (Sandbox Code Playgroud) 我需要使用NodaTime计算两个日期之间的天数,并在时区中进行计算.
结束时间是基于当天结束时暗示的午夜时间.这个日期是在时区.
开始时间是当前时间,但我将它传递给函数,以便该函数是可测试的.
我尝试使用Period,这似乎是明显的答案,但是Period在一端太过细化(当我们在结束日时)并且当我们超过1个月之后不够精细.
因此,如果现在是美国/多伦多的7月9日,下午5:45,结束时间是9月1日00:00:00,那么我希望能够计算54天.(假设我正确计算了我日历上的天数.:))
我想我自己必须处理子日问题,但当我不得不弄清楚如何处理一个多月的问题时,我感到很惊讶.
是否有明显的方法可以从NodaTime获得两次之间的天数?我使用.Net的DateTime和TimezoneInfo类将它归结为三行代码,但我想转移到NodaTime,原因是网站上指定的所有原因.
谢谢