淘汰赛#web组件"未加载到另一个组件内(在SPA中)

时间:2015-12-25 20:56:06

标签: javascript knockout.js yo

我遇到了一个小问题。

我有一个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

我做错了什么?

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

好的,它现在正在运作。 它看起来像问题是我设置了一个&#34; id&#34;对于我的AMD模块,当启动js中已经有该模块的注册ID时。 顺便说一句,它与组件注册的顺序无关。 希望它能帮助那些遇到这个问题的人。