- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
抱歉,我不能更具体地描述标题。
我正在构建一个网站(个人),它根据 url 中使用的查询字符串向用户显示不同的内容。
例如page=home.html
会显示 home.html
网站 Javascript 被包裹在一个对象中,每个值包含不同的数据,一些伪代码:
(function(){
var wrapper = {
init: function(){
//Runs on document ready
this.foo();
this.nav.render();
},
foo: function(){
//Some functionality goes here for the website, e.g. Display something from an API
},
nav: {
//Functionality to handle the navigation, has different properties
config: {
//Contains the config for nav, e.g. page names + locations
dir: '/directory/to/content/',
pages: {
page_name: wrapper.nav.config.dir + 'page_value'
}
},
render: function(){
//some code
},
routes: function(){
//some code}
}
}
};
$(function(){
wrapper.init();
});
})();
我的问题是我试图将 dir
值添加到每个 page
值(在定义页面的对象内部),期望得到directory/to/content/page_value
的(在这个伪代码案例中)的输出,但是当我尝试访问它时 dir
是未定义的,我已经尝试了以下方法来实现我想要的:
在过去的 30 分钟里,我一直在尝试找出我做错了什么,甚至考虑过对每个页面的 URL 进行硬编码。
想要这样做的原因是我的本地开发服务器和 Web 主机具有不同的目录结构,所以我不想每次开发 + 发布时都重新编写 URL。至于为什么所有东西都包裹在一个对象中,我觉得这样维护起来会更容易一些。
希望答案很简单,这只是一个业余错误/缺乏理解。
最佳答案
问题是您不能引用在该定义中定义的变量。
因此,在wrapper
的定义中,您不能引用wrapper
。而且,在 config
的定义中,您不能引用 config
等等。
解决这个问题的通常设计模式是在数据结构的声明中尽可能多地进行初始化,然后在可以自由访问所有数据结构时在 .init()
中完成其余部分.
关于匿名函数内部的 Javascript 作用域问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8773263/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!