2017-10-30 1 views
0

TypeScriptプロジェクトがあり、JSRenderとJSViewが動作していますが、JSObservablesを使用しようとすると失敗します。 この部分は「jsrender.d.ts」に含まれていないことを理解しており、追加方法を見つけることができませんでした。TypeScriptでJSObervableを使用するには?

私はこれを間違った方法ですか?より完全なd.tsファイルはありますか?

+1

使用しているjsrender.d.tsバージョンはどこで入手できましたか? – BorisMoore

+0

こんにちは、遅く返事を申し訳ありません、私はVS2015からNuGetで見つけました: ClaudeVernier

答えて

0

私は、これはあなたを助けると思う:

interface JsObserve<T> { 
    cdId: string; 
    bnd: any; 
} 

interface JsObserveEventArgs<T> { 
    change: string; 
    path: string; 
    value: T; 
    oldValue: T; 
    remove: boolean; 
} 

interface JsObserveEven<T> { 
    currentTarget: T; 
} 

interface JsObservable<T> { 

    observeAll<U>(handler: (ev: JsObserveEven<U>, eventArgs: JsObserveEventArgs<U>) => void): void; 
    unobserveAll<U>(handler: (ev: JsObserveEven<U>, eventArgs: JsObserveEventArgs<U>) => void): void; 

    setProperty<U>(path: string, value: U): void; 
    setProperty<U>(path: string, path2: string, value: U): void; 
    removeProperty(path: string): void; 

    refresh<T>(items: T): void; 

    remove<U>(data: U): void; 
    remove<U>(index: Number, to: Number): void; 
    insert<U>(value: U): void; 
    insert<U>(index: number, value: U): void; 
    insert<U>(index: number, value: Array<U>): void; 
    move(oldIndex?: number, newIndex?: number, numToMove?: number): void; 
    data(): T; 
} 

interface JQueryStatic { 
    observable<T>(obj: T): JsObservable<T>; 
    observable<T>(obj: T, path: string, handler: (ev: any, eventArgs: any) => any): JsObservable<T>; 

    observe<T>(myObjectOrArray: T, handler: (ev: JQueryEventObject, eventArgs: JsObserveEventArgs<T>) => void): JsObserve<T>; 
    observe<T>(myObjectOrArray: T, path: string, handler: (ev: JQueryEventObject, eventArgs: JsObserveEventArgs<T>) => void): JsObserve<T>; 
    observe<T>(myObjectOrArray: T, path: string, path1: string, handler: (ev: JQueryEventObject, eventArgs: JsObserveEventArgs<T>) => void): JsObserve<T>; 
    observe<T>(myObjectOrArray: T, path: string, path1: string, path2: string, handler: (ev: JQueryEventObject, eventArgs: JsObserveEventArgs<T>) => void): JsObserve<T>; 

    unobserve<T>(myObjectOrArray: T, handler: (ev: JQueryEventObject, eventArgs: JsObserveEventArgs<T>) => void): JsObserve<T>; 
    unobserve<T>(myObjectOrArray: T, path: string, handler: (ev: JQueryEventObject, eventArgs: JsObserveEventArgs<T>) => void): JsObserve<T>; 
    unobserve<T>(myObjectOrArray: T, path: string, path1: string, handler: (ev: JQueryEventObject, eventArgs: JsObserveEventArgs<T>) => void): JsObserve<T>; 
    unobserve<T>(myObjectOrArray: T, path: string, path1: string, path2: string, handler: (ev: JQueryEventObject, eventArgs: JsObserveEventArgs<T>) => void): JsObserve<T>; 
} 

このjsrender間違いなく入力されたファイルのために働く必要がありますが、多分私はすべての機能をカバーしていませんでした。

更新:それはJQueryEventObjectを使用しているので

プロジェクトは、間違いなく入力されたjqueryが含まれていなければなりません。

+0

こんにちは、 ありがとうございました!今まで仕事! "interface JsObserveEven" 私はこのラインを動作させることができませんでしたが、それなしで動作するようです:/// :-) – ClaudeVernier

+0

@ClaudeVernierありがとう、私はそれを修正! –

関連する問題