我遇到了一个小问题。
我有一个SPA应用程序,我正在用knockoutjs编写。
我正在使用yeoman搭建脚手架。
有一个页眉和一个页脚保持不变。
每个页面内容,即视图模型和html,都位于组件目录中的一个目录中。
我有一个下拉组件,我想把它放在另一个组件里。由于某种原因,它没有出现。我的组件名称是句点下拉列表。
我的组件的文件名是period-ropdown.js我的组件的模板(html)文件的名称是period-ropdown.html两者都位于同一目录句点下拉列表时段下拉列表位于组件目录中
这是我的组件的VM:
define('period-dropdown', ['knockout', 'text!./period-dropdown.html'], function (ko, templateMarkup) {
function PeriodDropdown(params) {
}
return { viewModel: PeriodDropdown, template: templateMarkup };
});
以下是该组件的注册方式:
ko.components.register('period-dropdown', {require: 'components/period-dropdown/period-dropdown' });
我将该组件的html放在我的内容页面(也是一个组件)中
<period-dropdown></period-dropdown>
周期下拉组件没有加载,我得到错误:
未捕获错误:模块加载超时:组件/周期下拉列表/周期下拉菜单
我做错了什么?
感谢的帮助
好的,现在可以工作了。看起来问题是,当启动js中已经有AMD模块的注册id时,我为该模块设置了一个"id"。顺便说一句,这与组件注册的顺序无关。希望它能帮助其他遇到这个问题的人。