Javascript 在typescript中从模块中注册Knockout.js组件viewmodel

Javascript 在typescript中从模块中注册Knockout.js组件viewmodel,javascript,knockout.js,typescript,viewmodel,custom-component,Javascript,Knockout.js,Typescript,Viewmodel,Custom Component,我的viewmodel模块有几个类,所以我想注册一个spesific类作为组件的viewmodel 它说:组件“过滤表”:未知的viewModel值:[object] 这是我在viewmodel模块中的内容 module FilterVM { export class FilterViewModel { //some code } class FilterTableViewModel { } class AttributeTableViewModel { } class Layer

我的viewmodel模块有几个类,所以我想注册一个spesific类作为组件的viewmodel

它说:组件“过滤表”:未知的viewModel值:[object]

这是我在viewmodel模块中的内容

module FilterVM {

export class FilterViewModel {
  //some code
}

class FilterTableViewModel {
} 

class AttributeTableViewModel {
}

class LayerAttributeViewModel {
}

}
export = FilterVM;
这是我想注册的地方

import FilterVM = require('Scripts/App/Components/AttributeTable/ViewModels/FilterViewModel');


ko.components.register('filter-table', {
        viewModel: { require: FilterVM.FilterViewModel },
        template: { require: 'text!Scripts/App/Components/AttributeTable/Views/FilterTableView.html' }
    });
这有什么不对吗?

require('Scripts/App/Components/AttributeTable/ViewModels/FilterViewModel')

您可能需要将其更改为相对路径。即使TypeScript在编译时找到它。。。运行时库可能不可用。使用类似于
require('../AttributeTable/ViewModels/FilterViewModel')

require('Scripts/App/Components/AttributeTable/ViewModels/FilterViewModel')


您可能需要将其更改为相对路径。即使TypeScript在编译时找到它。。。运行时库可能不可用。使用类似于
require('../AttributeTable/ViewModels/FilterViewModel')

已解决

问题出现在这里
viewModel:{require:FilterVM.filtervewmodel}


应该是
viewModel:FilterVM.filtervewmodel

已解决

问题出现在这里
viewModel:{require:FilterVM.filtervewmodel}


应该是不适合我的
viewModel:FilterVM.filtervewmodel

。如果我将viewModel:{require:'Scripts/App/Components/AttributeTable/ViewModels/filtervewmodel'}放在文件只有一个类的情况下有效,我想从许多不适用于我的类中选择一个特殊类。如果我将viewModel:{require:'Scripts/App/Components/AttributeTable/ViewModels/filtervewmodel'}放在文件只有一个类的情况下工作,我想从多个类中选择一个特殊类