无法理解为什么我的函数不是函数?
Can't figure why my function is not a function?
我正在尝试构建一个简单的单页 Web 应用程序,但我被卡住了。我正在尝试使用 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
提前致谢。
http://jsfiddle.net/AlexeiTruhin/4rg0mdgb/ - 适合我。
这意味着你有一个错误,例如在声明脚本时:
<script src="js/jq/jquery.uriAnchor-1.1.3.js"</script>
关闭<脚本..>
好吧,我遇到了同样的错误,但原因不同
我没有在"}"和");之间插入"()"在 spa 对象定义的末尾。
我正在尝试构建一个简单的单页 Web 应用程序,但我被卡住了。我正在尝试使用 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
提前致谢。
http://jsfiddle.net/AlexeiTruhin/4rg0mdgb/ - 适合我。
这意味着你有一个错误,例如在声明脚本时:
<script src="js/jq/jquery.uriAnchor-1.1.3.js"</script>
关闭<脚本..>
好吧,我遇到了同样的错误,但原因不同
我没有在"}"和");之间插入"()"在 spa 对象定义的末尾。