小编Ari*_*ris的帖子

使用react-router检测路由更改

我必须根据浏览历史实现一些业务逻辑.

我想做的是这样的:

reactRouter.onUrlChange(url => {
   this.history.push(url);
});
Run Code Online (Sandbox Code Playgroud)

当URL更新时,有没有办法从react-router接收回调?

reactjs react-router react-router-redux react-router-v4 react-router-dom

49
推荐指数
5
解决办法
5万
查看次数

Node.js和socket.io混淆

我经常看到像"Node.JS + socket.io教程"这样的标题.即使在我购买的Node.js初学者书中,它也告诉我下载socket.io所以我真的很困惑.

他们之间有什么区别?为什么我不能使用Node.JS"OR"Socket.io来编写我的应用程序?如果我可以编码,为什么人们在标题中使用socket.io和node.js?

我真的很困惑,所以任何回复都会受到赞赏.

node.js socket.io

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

在Express中分组路线

我们可以在Laravel中将这样的路线分组:

Route::group("admin", ["middleware" => ["isAdmin"]], function () {

     Route::get("/", "AdminController@index");
     Route::post("/post", ["middleware" => "csrf", "uses" => "AdminController@index");

});
Run Code Online (Sandbox Code Playgroud)

基本上,admin组中定义的所有路由都会isAdmin自动获取中间件和组名.例如,post端点侦听admin/post/post

有没有办法用Express做同样的事情?这将是非常棒的,因为我的Laravel路线曾经如此干净,而我的Express路线有点混乱/重复.

这是我目前在Express上的routes.js.

app.get("/admin", [passportConfig.isAuthenticated, passportConfig.isAdmin], AdminController.index);
app.post("/admin", [passportConfig.isAuthenticated, passportConfig.isAdmin], AdminController.postIndex);
Run Code Online (Sandbox Code Playgroud)

谢谢.

middleware node.js express

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

打字稿无法识别父类的属性?

我有一个基本的遗产,如下:

export abstract class Animal
{
     constructor() {

     }

     makeSound() {
         alert(this.sound);
     }
}

export class Dog extends Animal
{
     public sound: string = "Woof!";

     constructor() {
         super();
     }
}

const dog = new Dog;
dog.makeSound(); // Woof!
Run Code Online (Sandbox Code Playgroud)

我试图让上述代码片段正常运行时遇到问题.Property prop does not exist on type A.但是,它确实存在于B上,并且因为它是公开的,所以A应该能够到达prop via this.prop.

我尝试了以下方法:

  • 与上面相同 - 它不编译.(A类不存在物业道具)
  • 如果我想补充public prop: any;A,然后prop变得undefinedHello world.
  • 如果我想补充public abstract prop: any;A,同样的事情发生.

使用抽象类的整个继承点是共享this范围. …

typescript

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

使用 DI 将窗口对象注入到 Angular 的组件中

我在我的应用程序中加载 socket.io,如下所示:

index.html
<script src="http://myapp.com/socket.io/socket.io.js"></script>
...
// Angular stuff
Run Code Online (Sandbox Code Playgroud)

我有一个Socket需要window.io工作的组件。

import { Injectable } from '@angular/core';
import { Events } from 'ionic-angular';

@Injectable()
export class Socket {

  public isConnected: boolean = false;

  constructor(public events: Events) {
    if (typeof window.io === "undefined") {
        throw new Error("Socket.io is undefined.");
    }

    this.io = window.io;
  }

  connect() {
    this.io.connect("...");
  }

  listen() {

  }

}
Run Code Online (Sandbox Code Playgroud)

从理论上讲,它可能有效(未测试),但将窗口范围内的内容注入类并不是一个好习惯。

有没有办法做到这一点:

import { SocketIODriver } from 'socket.io';
import { Socket } from 'App/Socket/Socket';

@Component({
   templateUrl: …
Run Code Online (Sandbox Code Playgroud)

ionic-framework ionic2 angular

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

图像保存不适用于chmod 755,但适用于777.我该怎么办?

我有一个用户可以裁剪图像的网站.我通常将裁剪的图像保存在具有"755"chmod参数的文件夹下.

然而,当它是755时,它不起作用 - 当我chmod到777并且我相信777非常不安全时它起作用,所以我不想使用它.

可能有什么不对?

PS.系统的工作原理如下.服务器中有一些图片,PHP允许用户裁剪这些图片,当他们点击保存时,它应该保存在/ cropped"文件夹中.它适用于777但不适用于755.

php chmod

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