小编Run*_*ble的帖子

如何处理Node.js中的循环依赖

我最近一直在使用nodejs并且仍然掌握模块系统,所以如果这是一个显而易见的问题,请道歉.我想要的代码大致如下所示:

a.js(主节点与节点一起运行)

var ClassB = require("./b");

var ClassA = function() {
    this.thing = new ClassB();
    this.property = 5;
}

var a = new ClassA();

module.exports = a;
Run Code Online (Sandbox Code Playgroud)

b.js

var a = require("./a");

var ClassB = function() {
}

ClassB.prototype.doSomethingLater() {
    util.log(a.property);
}

module.exports = ClassB;
Run Code Online (Sandbox Code Playgroud)

我的问题似乎是我无法从ClassB的实例中访问ClassA的实例.

是否有正确/更好的方法来构建模块以实现我想要的?有没有更好的方法在模块之间共享变量?

module require cyclic-reference node.js cyclic-dependency

148
推荐指数
12
解决办法
7万
查看次数

设置overflow-y:hidden; 导致页面在Firefox中跳转到顶部

我有一些javascript来处理我的网站上打开模态弹出窗口,它还将元素的overflow-y属性设置<html>hidden.在Chrome和IE中,这可以正常工作 - 滚动条隐藏,模态弹出窗口后面的页面保持在相同的滚动位置.当弹出窗口关闭时,overflow-y设置为scroll并且页面处于与之前相同的状态和位置.

但是在Firefox中,只要overflow-y更改为hidden页面滚动位置就会跳到最顶层,因此当弹出窗口关闭时,用户的视图已经改变 - 不太理想.

这个问题可以在这个问题上看到

这种行为有什么解决方案吗?

javascript css overflow

16
推荐指数
3
解决办法
1万
查看次数

AngularJS:Hashbang URL在完全刷新时会自动附加到自身

我有一个angularJS应用程序,配置如下:

$locationProvider.html5Mode(true);
$locationProvider.hashPrefix('!');
Run Code Online (Sandbox Code Playgroud)

所以在现代浏览器中,它与pushstate一起使用没有问题,一个示例URL将是:

http://myapp.com/members
Run Code Online (Sandbox Code Playgroud)

在旧的浏览器中,例如IE9,当我浏览到该URL时,它会按预期重写它:

http://myapp.com/members#!/members
Run Code Online (Sandbox Code Playgroud)

单击此处的任何链接都会使用hashbang方法,也正确:

http://myapp.com/members#!/members/add
Run Code Online (Sandbox Code Playgroud)

然而...

如果我在一个hashbang重写的URL上完全重新加载页面,它将继续将哈希附加到自身.第一次刷新:

http://myapp.com/members#!/members#!/members#!%2Fmembers
Run Code Online (Sandbox Code Playgroud)

..和第二次刷新:

http://myapp.com/members#!/members#!/members#!%2Fmembers#!/members#!%2Fmembers%23!%2Fmembers%23!%2Fmembers
Run Code Online (Sandbox Code Playgroud)

这可能导致这种情况发生了什么?通常它不会发生,因为人们将在应用程序内导航并且角度将处理网址,但进行完全重新加载似乎打破了它.谢谢.

javascript angularjs

10
推荐指数
1
解决办法
3286
查看次数

Django admin - 允许手动编辑自动日期时间字段

是否可以允许在模型的添加/更改页面上手动编辑自动日期时间字段。这些字段定义为:

post_date = models.DateTimeField(auto_now_add=True)
post_updated = models.DateTimeField(auto_now=True)
Run Code Online (Sandbox Code Playgroud)

我不确定手动覆盖这些将如何工作,自动更新是在数据库级别还是在 django 本身中处理?

django django-admin

6
推荐指数
1
解决办法
4457
查看次数

为MySQL之外的Laravel模型字段提供默认值的正确方法是什么?

我有一个Laravel模型,其中包含各种字段,在数据库中默认为NULL,并且由于遗留原因而无法轻松更改.我想总是将这些作为空字符串返回,例如,当从我的路线返回JSON时.是否有某种"标准"方式以某种方式定义模型中的默认值?

另一种情况可能是某个字段在返回之前总是需要对其进行一些处理,这是否也可以以类似的方式定义?谢谢.

php laravel laravel-4

4
推荐指数
1
解决办法
2801
查看次数

Java:如何在X秒后计算简单事件的时间?

我正在玩Java,我在游戏中为自己的NPC上课.当一个方法与另一个对象发生碰撞时会调用它们:

public void collided_in_to(Entity ent) {

    if(ent.equals(game.player)) {
        this.speak = "Ouch!";
    }

}
Run Code Online (Sandbox Code Playgroud)

我想做的事,这是我想通将是简单的,被设置this.speak""几秒钟的一定量之后.来自网络背景,我正在寻找相当于Javascripts setTimeout().

我已经尝试过使用各种计时器片段,例如使用Swing计时器,但在这种情况下,似乎每个计时器都会调用相同的public void actionPerformed(ActionEvent e)方法,因此对于不同的事件我有多个计时器无法区分它们.其他人使用内联匿名类,但后来我无法将非最终参数传递给它.

对于这个用例,我是否缺少一些东西,我希望在一段时间后发生非常小的简单事情?(称为实例方法,变量集等)

谢谢!

java

2
推荐指数
1
解决办法
3519
查看次数

Django:有没有一种简单的方法来查询"Model.field以数字(0到9)开头"?

希望简单的Django在这里提问.如果没有使用长链的Q对象一起使用,有一种简单的方法来查询类似的东西:

item = Item.objects.filter(name__startswith='[a digit here]')
Run Code Online (Sandbox Code Playgroud)

谢谢!

django django-forms

1
推荐指数
1
解决办法
633
查看次数