我的viewmodel模块有几个类,所以我想注册一个特定的类作为组件的viewmodel
上面写着:Component 'filter-table': Unknown viewModel value: [object 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' }
});
这有什么不对?
SOLVED
问题在这里viewModel: { require: FilterVM.FilterViewModel }
应该是viewModel: FilterVM.FilterViewModel
require('Scripts/App/Components/AttributeTable/ViewModels/FilterViewModel');
您可能需要将其更改为相对路径。即使TypeScript在编译时找到它…运行时库可能不会。使用require('../AttributeTable/ViewModels/FilterViewModel');
等