Wie geht man mit Warnungen für proprietäre / benutzerdefinierte Eigenschaften von integrierten Objekte in Typoskript

stimmen
14

Ich bin mit Personas , die auf dem beruht geschütztes Eigentumnavigator.id . Da diese Eigenschaft nicht Standard ist, erzeugt die Typoskript Compiler die folgende Warnung:

$ tsc home.ts --out my_ts_generated_code.js
/Users/..../home.ts(27,18): The property 'id' does not exist on value of type 'Navigator'

Aber die JS - Datei erfolgreich erzeugt und läuft auf dem FF15 - Browser ohne Warnung / Fehlermeldung.
Ich auch eine polyfill für navigator.id, wie sie in der Dokumentation beschrieben, so navigator.idwird auf jeden Fall durch in jedem Browser zur Verfügung.

Könnte jemand vorschlagen mich, wie mit dieser Warnung umgehen?

index.html

<!-- some HTML omit above -->
<script src=https://login.persona.org/include.js></script>
<script src=my_ts_generated_code.js></script>
<button class=btn id=signin>Sign in</button>
<button class=btn id=signout>Sign out</button>
<!-- some HTML omit below -->

home.ts

declare var $;

class Student {
    fullname : string;
    constructor(public firstname, public middleinitial, public lastname) {
        this.fullname = firstname +   + middleinitial +   + lastname;
    }
}

interface Person {
    firstname: string;
    lastname: string;
}

function greeter(person : Person) {
    return Hello,  + person.firstname +   + person.lastname;
}

var user = new Student(Jane, M., User);

$(function() {
    $('#signin').on('click', function(e) {
        e.preventDefault();
        navigator.id.request();
    });

    $('#signout').on('click', function(e) {
        e.preventDefault();
        navigator.id.logout();
    });
    //document.body.innerHTML = greeter(user);
});
Veröffentlicht am 03/10/2012 um 07:50
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
20

1) Sie können Navigator prop neu interpretieren.

(<any>navigator).id.request();

2) Sie können erklären ID youself prop

mycompany.lib.d.ts

interface Navigator {
  id: any
}

app.ts

navigator.id.request();

finden Sie in diesem Video http://channel9.msdn.com/posts/Anders-Hejlsberg-Introducing-TypeScript/ Es Anders erzählen als jQuery.UI neue Methoden jQuery hinzugefügt werden (siehe 46 min)

Beantwortet am 03/10/2012 um 08:34
quelle vom benutzer

stimmen
0

In Kontrollen wie if(navigator.id != null && typeof navigator.id != 'undefined')vor Anw wo navigator.id bezeichnet wird

Beantwortet am 03/10/2012 um 07:56
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more