我遇到了一个小问题。
我有一个SPA应用程序我在knockoutjs写作。
我使用 yeoman 作为脚手架。
页眉和页脚保持不变。
每个页面内容,即viewmodel和html都位于组件目录内的目录中。
我有一个下拉组件,我想放在另一个组件中。 出于某种原因,它并没有出现。 我的组件的名称是句号下拉。
我的组件文件的名称是period-dropdown.js 我的组件的模板(html)文件的名称是period-dropdown.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>
未加载period-dropdown组件,我收到错误:
未捕获错误:模块的加载超时:components / period-dropdown / period-dropdown
我做错了什么?
感谢您的帮助
答案 0 :(得分:0)
好的,它现在正在运作。 它看起来像问题是我设置了一个&#34; id&#34;对于我的AMD模块,当启动js中已经有该模块的注册ID时。 顺便说一句,它与组件注册的顺序无关。 希望它能帮助那些遇到这个问题的人。