TypeScript - خط قرمز زیر متن در ویژوال استودیو کد


من این خطهای قرمز را دارم:

من متغیرهای زیرخطدار را اینطور ایجاد میکنم:

import SearchFilterViewModel = SearchFilter.SearchFilterViewModel;
import SearchResultsViewModel = SearchResults.SearchResultsViewModel;
import AddProductViewModel = AddProduct.AddProductViewModel;
import Validator = Validation.Validator;

module Bindings {
    export class Binder {
        constructor() {
            searchFilterViewModel = new SearchFilterViewModel();
            searchFilterViewModel.errors = ko.validation.group(searchFilterViewModel);
            searchResultsViewModel = new SearchResultsViewModel();
            addProductViewModel = new AddProductViewModel();
            ko.applyBindings(searchFilterViewModel, $("#search-filter-page")[0]);
            ko.applyBindings(searchResultsViewModel, $("#search-results-page")[0]);
            ko.applyBindings(addProductViewModel, $("#add-product-page")[0]);
        }
    }
}

سپس :

$(document).ready(function () {
    //apply bindings
    var binder = new Binder();
}

پس کد به درستی کامپایل میشود و کار میکند. چگونه میتوانم از شر آن خطهای زیر قرمز خلاص شوم؟

پاسخ شماره ۱

شما باید ویژگیها را اعلام کنید (به طور پیشفرض عمومی):

module Bindings {
    export class Binder {
        searchFilterViewModel:SearchFilterViewModel;
        constructor() {
            this.searchFilterViewModel = new SearchFilterViewModel();

پاسخ شماره ۲

پس کد به خوبی کامپایل میشود و کار میکند.

فقط به این دلیل که کد جاوااسکریپت معتبری تولید میکند به این معنا نیست که خطاهای کامپایل وجود ندارد.

احتمالاً اگر پروژه را از طریق tsc اجرا کنید، خطا خواهید دید

بیشتر: https://basarat.gitbooks.io/typescript/content/docs/why-typescript.html