कैसे टाइपप्रति में निर्मित वस्तुओं के स्वामित्व / कस्टम गुण के लिए चेतावनी को संभालने के लिए

वोट
14

मैं Personas जो पर निर्भर करता है का उपयोग कर रहा मालिकाना संपत्तिnavigator.id । के बाद से इस संपत्ति मानक नहीं है, टाइपप्रति संकलक निम्नलिखित चेतावनी उत्पन्न करता है:

$ 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'

लेकिन .js फ़ाइल सफलतापूर्वक उत्पन्न होते हैं और किसी भी चेतावनी / त्रुटि संदेश के बिना FF15 ब्राउज़र पर चलाता है।
मैं भी के लिए एक polyfill शामिल navigator.id, के रूप में प्रलेखन द्वारा निर्देश है, तो navigator.idनिश्चित रूप से हर ब्राउज़र में उपलब्ध द्वारा होगा।

किसी ने मुझे सुझाव है कि कर सकते हैं कि कैसे इस चेतावनी से निपटने के लिए?

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);
});
03/10/2012 को 07:50
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


2 जवाब

वोट
20

1) आप नाविक प्रोप पुनर्व्याख्या कर सकते हैं।

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

2) आप आईडी अपने आप सहारा घोषणा कर सकते हैं

mycompany.lib.d.ts

interface Navigator {
  id: any
}

app.ts

navigator.id.request();

इस वीडियो को देखने के http://channel9.msdn.com/posts/Anders-Hejlsberg-Introducing-TypeScript/ वहाँ ऐन्डर्स बता jQuery.UI jQuery के लिए नए तरीके जोड़ के रूप में (देखें 46 मिनट)

03/10/2012 को 08:34
का स्रोत उपयोगकर्ता

वोट
0

जैसे चेकों जोड़े if(navigator.id != null && typeof navigator.id != 'undefined')stmt से पहले जहां navigator.id में जाना जाता है

03/10/2012 को 07:56
का स्रोत उपयोगकर्ता

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