小编Wan*_*lli的帖子

ES6类,传递函数作为参数来注册expressjs路由

该类用于扩展expressjs应用程序中的所有控制器:

import response from '../utils/responseParser.js';

const APISLUG = '/api/v1/';

export default class BaseController {

  constructor(name, app, model){
    this.model = model;
    this.app = app;
    this.name = name;
    console.log(model);
    this.register();
  }

  register() {
    this.app.get(APISLUG + this.name, this.all);
  }
  /*
  Retrive all records
  */
  all(req, res, next) {
    this.model.all(req.body, (err, data) => {
      if(err) return res.json(response.replyError(data));
      return res.json(response.reply(data));
    });
  }
}
Run Code Online (Sandbox Code Playgroud)

如您所见,我已经制作了一个"注册"方法来自动设置所有基本路线.

unable to read property " model " of undefined "在这一行收到错误:

this.app.get(APISLUG + this.name, this.all);
Run Code Online (Sandbox Code Playgroud)

我相信这是因为当我将函数作为参数传递时范围会丢失.我怎么解决这个问题?

javascript ecmascript-6

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

VB.NET在表单之间传递数据

对我糟糕的英语抱歉.

我在VB.NET中创建一个应用程序,我有一点问题.我有两个表单,一个主要的FORM(总是打开),一个我打开为Dialog.

在辅助表单(例如打开的对话框)中,我可以选择要做什么,并根据我的选择,我必须在主窗体中触发事件.让我解释一下,在子表单中我选择客户编号2,我按OK,主表单必须加载与客户编号2相关的所有数据.

显然,作为面向对象的vb.net我不能从另一个表单调用sub(因为我没有访问该实例)而且我不能声明一个新的,因为主表单总是打开的.

然后,我如何传递客户的ID并提升事件加载?

vb.net

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

委托和地址

我有一个我无法解决的问题。

我创建了一个带有 for 循环的简单表单,用于处理 n 个按钮的创建,在循环结束时,我将按钮设置为 .Click 事件的特定子

AddHandler btn.Click AddressOf mySub
Run Code Online (Sandbox Code Playgroud)

现在我想在课堂上做同样的事情。所以我创建了我的新类然后我写了一个简单的方法

Public Sub buttonCreation(byval nButton as Integer)
Run Code Online (Sandbox Code Playgroud)

该方法与表单中的方法完全相同,但是当我必须为按钮的 .Click 事件添加处理程序时,我卡住了。

然后我尝试创建一个委托,但我无法使用它,AddressOf 只接受不带括号的方法的 NAME。

编辑

我在表单中创建了委托

 Dim delegate As EventHandler
 delegate  = New EventHandler(AddressOf mySub)
Run Code Online (Sandbox Code Playgroud)

然后我调用我的类方法并将委托作为参数传递

ClassA.buttonCreation(10, delegate) 
Run Code Online (Sandbox Code Playgroud)

我卡在这里在循环结束时应该分配给子按钮的时候调用事件。点击被触发,我试图这样做但显然不起作用

AddHandler btn.Click AddressOf delegate
Run Code Online (Sandbox Code Playgroud)

你能帮助我吗 ?此致

PS:显然我要指向的方法不在类内部,而是在表单内部。

vb.net delegates

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

标签 统计

vb.net ×2

delegates ×1

ecmascript-6 ×1

javascript ×1