2016-05-26 2 views
2

Я пытаюсь переписать свое приложение в Angular 2 typescript и хотел бы использовать лучшие практики. Я нашел следующее guide, но он не отвечает на мои самые основные вопросы. Вот два вопроса:Лучшая практика для Angular 2 в TypeScript

  1. В компонентах, можно ли объявить локальную переменную внутри функции или объявить ее закрытой, прямо над конструктором?
  2. Как следует использовать переменные внутри вложенных функций? Например:

    replicator(){// return observable} 
    myFunction(){// Nested function to be called} 
    
    ngOnInit() { 
        this.replicator().subscribe(function (data) { 
         // Call function here 
        } 
    } 
    

    Должен ли я позвонить моей функции, выполнив: let self = this перед тем this.replicator(), а затем вызвать self.myFunction()? Или есть лучший способ сделать это?

PS Если у вас есть хорошее руководство по лучшей практике, пожалуйста, разместите его как комментарий!

ответ

4

Как следует называть переменные внутри вложенных функций

Используйте функцию стрелки (more).

ngOnInit() { 
    this.replicator().subscribe((data) => { 
     // Call function here 
     this.somefunction 
    } 
} 

это нормально, чтобы объявить локальную переменную внутри функции, или я должен объявить его как частный, прямо над конструктором

Оба хороши. Локальный, если он только локальный для функции или private, если ему нужны другие функции

+0

спасибо! Еще одна вещь, как вы объявляете локальные переменные? 'myVar: string;' или 'let myVar;' – ncohen

+1

'let myVar: string' или даже лучше' const myVar = "some stringt" ', если вы знаете значение upfront и не хотите, чтобы оно было изменено. – basarat

+0

Alway объявляет ваши переменные на наверху, введите их и ** инициализируйте ** их, это также хорошая практика JavaScript, потому что вы избегаете неопределенных значений (не помогает при отладке); Как правило, это выглядит так: 'let myVar: string = '''. Нулевое значение не поможет вам конкатенации. –

Смежные вопросы