小编And*_*ton的帖子

传递给KO点击绑定的Typescript成员方法以"错误"范围结束

我正在使用KnockoutJS和Typescript编写单页应用程序.

问题是这个,我有一个MainViewModel方法:

public addToCase(email) {
    this.addToCaseVM.setEmail(email, this.getEmailBody());
};
Run Code Online (Sandbox Code Playgroud)

我的页面中有一个电子邮件视图,其中包含一个"添加到案例"按钮,该按钮以html绑定,如下所示:

<a class="btn btn-info" data-bind="click: $root.addToCase" data-toggle="modal" href="#addToCaseModal"><i class="icon-plus-sign"></i>&nbsp;Add To Existing Case</a>
Run Code Online (Sandbox Code Playgroud)

$ root是我的MainViewModel.单击此按钮时,函数的"email"参数是MainViewModel中正确选择的电子邮件,但函数的范围也是EmailViewModel,而不是定义函数的MainViewModel.

我理解为什么会发生这种情况,我对如何解决Typescript中的特定问题感兴趣,因为我不能像在纯javascript中那样声明指向MainViewModel实例的指针:

var MainViewModel = (function(){ 
    var self = this; 

    this.addToCase = function(email) {
        self.addToCaseVM.setEmail(email, self.getEmailBody());
    };
})();
Run Code Online (Sandbox Code Playgroud)

knockout.js typescript

6
推荐指数
2
解决办法
2296
查看次数

是否可以从 vscode 扩展中对 OAuth 2.0 API 进行身份验证

我的团队编写了一个监控系统,我们最近将监控的定义迁移到了 git 存储库中。这些定义由一些 json 和 powershell 文件组成。VSCode 是编辑和处理 git 的理想场景。问题是在开发监控时,能够在测试环境中执行它是很好的。以前所有编辑都是通过 Web 界面完成的,我们允许通过 AzureAD 和 OAuth2.0 保护的 API 对测试机器临时执行 powershell。

VS Code 扩展无法访问完整的电子 API,并且您无法创建 BrowserWindow 来处理通常的 OAuth 重定向流。有没有办法解决这个限制并允许用户对我们的 api 进行身份验证,以便我们可以调用它?

任何想法或可能的解决方法都会很棒。

oauth visual-studio-code vscode-extensions

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

SQL - Count()问题

我有一张收费/信用栏目表:

Item | PriceVal | CostVal | CHARGE_CODE
1        5             3         CH
2        8             5         CH
1       -5            -3         CR
3        7             1         CH
4       15            10         CH
1        5             3         CH
Run Code Online (Sandbox Code Playgroud)

我已经得到了我需要获得NET价格和成本的查询,但我也对NET收费感兴趣.现在我有:

SELECT Item, SUM(PriceVal), SUM(CostVal)
FROM Table
GROUP BY Item
Run Code Online (Sandbox Code Playgroud)

如何获取具有该值的另一​​列

COUNT(SUM(CHARGE_CODE=CH)-SUM(CHARGE_CODE=CR))
Run Code Online (Sandbox Code Playgroud)

我不知所措.

sql t-sql sql-server

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

从临时表更新表

我有一张存储处方药物信息的表格,需要每天从中央处方集更新.临时表与药物表相同.临时表数据可以与主表相同(并且在大多数情况下也是如此),或者它可以具有更新的行或新行.

我有一个存储过程来更新主表,但它失败,因为它不会更新NULL行(如果临时表中有一个新行).

这是一个MSSQL Server 2005.

我在哪里错了:

    -- Insert statements for procedure here
UPDATE [RX_Billing].[dbo].[FS_Drug]
SET [TRADENAME] = [RX_Billing].[dbo].[FS_Drug_TEMP].[TRADENAME]
  ,[CDM] = [RX_Billing].[dbo].[FS_Drug_TEMP].[CDM]
  ,[NDC] = [RX_Billing].[dbo].[FS_Drug_TEMP].[NDC]
  ,[IP_COST] = [RX_Billing].[dbo].[FS_Drug_TEMP].[IP_COST]
  ,[OP_COST] = [RX_Billing].[dbo].[FS_Drug_TEMP].[OP_COST]
  ,[HH_COST] = [RX_Billing].[dbo].[FS_Drug_TEMP].[HH_COST]
  ,[VAR_COST] = [RX_Billing].[dbo].[FS_Drug_TEMP].[VAR_COST]
  ,[LSTUPDATE] = [RX_Billing].[dbo].[FS_Drug_TEMP].[LSTUPDATE]
FROM [RX_Billing].[dbo].[FS_Drug]
RIGHT OUTER JOIN [RX_Billing].[dbo].[FS_Drug_TEMP] ON 
          [RX_Billing].[dbo].[FS_Drug].[TRADENAME] = 
                   [RX_Billing].[dbo].[FS_Drug_TEMP].[TRADENAME]
Run Code Online (Sandbox Code Playgroud)

编辑:

我选择了Rory的代码.谢谢,这很好用.

Orion Edwards的注释:UPSERT/MERGE正是我想要的,但SQL Server 2005不支持它.显然它是有计划的,但没有发布.它在Server 2008中可用.(从Interwebs告诉我的内容.)

sql sql-server

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