dan*_*l__ 11 javascript jquery requirejs
这是一个关于我的问题的简单演示.
我需要访问id_userin main.js文件.我的问题是,在这种情况下如何避免全局变量?为此目的使用全局变量是不好的做法吗?
main.js
require({
paths : {
jQuery : 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min'
}
});
require([ 'jQuery' ], function() {
alert(id_user);
});
Run Code Online (Sandbox Code Playgroud)
的index.php
<script data-main="js/main" src="js/require.js"></script>
<script type="text/javascript">
function users() {
id_user = <?php echo $id; ?>
}
users();
</script>
Run Code Online (Sandbox Code Playgroud)
Gil*_*esC 10
在使用requirejs的项目中不应该存在任何全局变量,因为它处理模块并且所有模块(及其属性/方法)永远不会被全局声明以保持环境的良好和干净.如果您需要一个模块在另一个模块中使用变量集,那么它们应该通过某个API相互通信,或者将该变量设置为属性,需要模块并以此方式获取属性.
但也许你应该问自己是否真的需要requirejs.如果你想建立一个适当的模块基于应用程序(我不知道你是,如果你想知道如何通过周围变量),那么是的,如果你想要的是从JS加载一些文件,然后LazyLoad(HTTP:// WWW. appelsiini.net/projects/lazyload)可能就是答案.只是说根据你的情况考虑值得思考,特别是考虑到requirejs的足迹.
| 归档时间: |
|
| 查看次数: |
26950 次 |
| 最近记录: |