【发布时间】:2015-12-25 20:56:05
【问题描述】:
我遇到了一个小问题。
我有一个我正在用 knockoutjs 编写的 SPA 应用程序。
我正在使用 yeoman 作为脚手架。
页眉和页脚保持不变。
每个页面内容(即视图模型和 html)都位于 components 目录内的目录中。
我有一个下拉组件,我想将它放在另一个组件中。 由于某种原因,它没有出现。 我的组件名称是 period-dropdown。
我的组件的文件名是 period-dropdown.js 我的组件的模板(html)文件的名称是 period-dropdown.html 两者都位于同一目录中 period-dropdown period-dropdown 位于 components 目录中
这是我的组件的虚拟机:
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>
期间下拉组件未加载,我收到错误:
未捕获的错误:模块加载超时:components/period-dropdown/period-dropdown
我做错了什么?
感谢您的帮助
【问题讨论】:
-
不,我没有。我看着它并改变了waitSeconds。现在我没有收到错误,但我的组件仍未加载。
-
确保此组件在其他 tha 使用此组件之前已注册。
-
好的,我做到了,但我还是没看到。您需要查看有关我的文件的更多信息吗?
-
我看到的是文件已下载,即 VM 的 JS 和模板的 html 但它没有连接到它所在的页面。代码没有到达嵌套的 Ctr组件。
标签: javascript knockout.js yo