0
我想建立一个简单的单页网页应用程序,我卡住了。我试图使用module pattern
:不知道为什么我的功能不是一个功能?
var spa = (function() {
var initModule = function($container) {
$container.html(
'<h1 style="display:inline-block; margin: 25px;">'
+ 'hello world!'
+ '</h1>'
);
};
return { initModule: initModule };
})();
这在理论上应该在这里调用:
<!doctype html>
<html>
<head>
<title>SPA Starter</title>
<!-- stylesheets -->
<link rel="stylesheet" type="text/css" href="css/spa.css" />
<link rel="stylesheet" type="text/css" href="css/spa.shell.css" />
<!-- third-party javascript -->
<script src="js/jq/jquery-1.11.3.js"> </script>
<script src="js/jq/jquery.uriAnchor-1.1.3.js"</script>
<!-- my Javascript -->
<script src="js/spa.js"> </script>
<script src="js/spa.shell.js"></script>
<script>
$(function() { spa.initModule($('#spa')); });
</script>
</head>
<body>
<div id="spa"></div>
</body>
</html>
我试图做spa.initModule($('#spa'));
控制台,它的工作,但在我的代码是不是。
当我尝试运行我提前拿到Uncaught TypeError: spa.initModule is not a function
感谢。
它看起来像你在加载DOM之前调用函数。在文档准备好之后尝试调用你的函数 –
我尝试使用'$(function(){...})',它是'$(document).ready(function(){...})'的简写。你认为这是问题吗? – SuperManEver
好,我遇到了同样的错误,但不同的原因,
我没有在“}”和“)之间插入”()“;”在spa对象定义的最后。
来源
2016-01-05 11:09:49 benzford
由于它几乎是*相同的错误,你认为这可能是解决OP问题的解决方案吗? – dakab