【发布时间】:2013-03-10 07:07:44
【问题描述】:
我得到:
未捕获的类型错误:无法调用未定义的方法“applyBindings”
我查看了 chrome 中的“网络”选项卡,我看到 Knockout.js 已加载。
我可以在控制台选项卡上输入window.ko 并查看淘汰赛的代码
那么,为什么会出错?
config.js:
var require = {
baseUrl: "/scripts"
};
main.js:
require([
"lib/knockout"
],
function (ko) {
ko.applyBindings();
});
index.html:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="scripts/config.js"></script>
<script data-main="app/main.js" src="scripts/lib/require.js"></script>
</head>
<body>
<input type="text" data-bind="value: test" />
</body>
</html>
【问题讨论】:
-
Knockout 的 AMD/RequireJS 支持取决于条件
if (typeof define === 'function' && define['amd'])。如果那个和之前的 CommonJS 运行时测试没有通过,它将默认定义全局window.ko。
标签: javascript knockout.js requirejs