小编sel*_*dog的帖子

找到两个Javascript对象的公共成员

在两个Javascript对象中查找公共成员的最简单方法是什么?这个问题与平等无关.我不关心每个成员的值,只是它们存在于两个对象中.

这是我到目前为止所做的(使用underscore.js):

_.intersection(_.keys({ firstName: 'John' }), _.keys({ firstName: 'Jane', lastName: 'Doe' }))
Run Code Online (Sandbox Code Playgroud)

这给了我一个['firstName']预期的结果,但我想找到一种更简单或更有效的方法,最好是vanilla Javascript.

  • 使用下划线有更好/更简单的方法吗?
  • 没有下划线(首选)有更好/更简单的方法吗?

javascript underscore.js

10
推荐指数
2
解决办法
3862
查看次数

ASP.NET MVC 4货币字段

我在货币字段的网页上收到错误("字段金额必须是数字").这是因为美元符号($ 50.00).

[DataType(DataType.Currency)]
[DisplayFormat(DataFormatString = "{0:c}", ApplyFormatInEditMode = true)]
public decimal Amount { get; set; }

@Html.EditorFor(model => model.Amount)
Run Code Online (Sandbox Code Playgroud)

如果我想保留美元符号,我还需要做什么?

asp.net-mvc asp.net-mvc-4

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

是否可以在没有LDAP服务器的情况下通过REST API公开LDAP"兼容"数据?

让我首先说明我对LDAP几乎一无所知,这个问题本质上比其他任何问题更具概念性.由于这是一个很长的帖子,这里的问题是最简单的形式:

如何以最简单的方式将现有SQL Server数据库中的联系人数据公开给LDAP客户端?

情景

我所工作的组织开发了一个非常简单的内部CRM系统 - 实际上它更像是一个美化的联系人管理系统而不是CRM,但却充满了联系人的信息 - 他们现在希望能够轻松地将所有联系信息暴露给其他桌面和移动客户端,如Outlook和/或iOS设备,我已经被分配了解如何做到这一点.

我做的第一件事是打开Outlook,看看可以添加什么样的互联网地址簿; 在Outlook 2007中,我看到的唯一选项是LDAP.接下来,我查看了iOS设备,它还支持LDAP通讯簿.因此,似乎LDAP是实现这一目标所需要的......

研究LDAP

正如开头所述,我对LDAP几乎一无所知,为此目的进行研究并没有让我走得太远.我当然不想设置整个LDAP服务器而且我不需要LDAP安全性等(至少我理解,我没有),我需要做的就是暴露现有CRM数据库中的联系信息"LDAP方式."

我在研究中似乎看到的共识是安装一个LDAP服务器,如OpenLDAP,并将其配置为使用SQL Server(即现有的CRM数据库)作为后备存储,从而有效地将数据库记录暴露给LDAP客户端.这似乎过于复杂,我希望有一种更简单的方式来公开LDAP表单中的联系人记录.

休息的想法

我的想法 - 看起来像一个失败的原因 - 是通过一个简单的REST(或类似REST)API来暴露每个用户的联系人,该API返回可由Outlook,iOS和任何其他客户端使用的LDAP表单中的联系信息/支持LDAP的设备.

最终目标是指示组织中的个人打开Outlook或其iOS设备设置,并输入URI,如下所示:

https://www.ourinternalcrm.com/{username}/contacts

我浪费时间吗?

这甚至是远程可能的,值得进一步研究,还是我错过了LDAP的全部内容以及以LDAP形式公开数据的方式有效?

如果这是可能的,有人可以帮我指出正确的方向吗?我需要使用C#和(最有可能的)WCF来实现所有这些.

c# wcf ldap

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

.then()永远不会在Observable.toPromise()上调用

我尝试使用angularfire2身份验证库中的令牌验证我的后端调用.我订阅了authState以获取用户令牌,并将其作为RequestOption添加到我的http请求中.

如果我在chrome调试器中设置断点,它会成功执行getAuthOptions()中的返回行,但在this.getAuthOptions().toPromise()之后,app既不调用.then()也不调用.catch()函数.

Observable用法是否有错误?我可以尝试其他方法吗?

  getPoints(): Promise<Object[]> {
    return this.getAuthOptions().toPromise()
      .then(options => this.http.get(this.baseUrl, options).toPromise())
      .then(_ => _.json().data)
      .catch(console.log);
  }

  getPointsFor(isin: String): Promise<Object> {
    return this.getAuthOptions().toPromise()
      .then(options => this.http.get(this.baseUrl + isin, options).toPromise())
      .then(_ => _.json().data[0])
      .catch(console.log);
  }

  private getAuthOptions(): Observable<RequestOptions> {
    return this.afAuth.authState.map(res => {
      if (res && res.uid) {
        const token = res.getIdToken(true);
        return new RequestOptions({
          headers: new Headers({
            Auth: `${token}`
          })
        });
      } else {
        return new RequestOptions();
      }
    });
  }
Run Code Online (Sandbox Code Playgroud)

javascript rxjs typescript angular

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

Realm React Native-SORT DISTINCT是否真正起作用?

领域的JavaScript文件说:

使用函数SORT和DISTINCT可以分类和查找不同的值,例如age> 20 SORT(name ASC, age DESC) DISTINCT(name)

  • 排序的顺序可以是以下不区分大小写的文字之一:ASC,ASCENDING,DESC,DESCENDING。
  • 括号内的逗号分隔列表中可以出现任意数量的属性。
  • 可以指定任意数量的排序/区别条件,它们将以指定的顺序应用。
  • 排序或区分不能独立运行,这些条件必须附加到至少一个查询过滤器中。

我正在尝试像这样使用它:

realm
  .objects<CardFace>(CardFaceSchema)
  .filtered(`SORT(name ASC, expansion.releaseDate DESC) DISTINCT(name)`)
Run Code Online (Sandbox Code Playgroud)

并通过以下消息获得死亡的红屏: SORT(name ASC, expansion.releaseDate DESC) DISTINCT(name):1:4(4): Invalid predicate.

我究竟做错了什么?我的领域版本是2.3.3

javascript realm react-native

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

"for(bool flag = true; flag; flag = false){...}" - 这是正常的吗?

我从未见过以for这种方式初始化的循环,也不明白为什么会以这种方式编写?

我正在研究连接到.NET中的IMAP服务器,并开始查看名为ImapX的库中的代码.我for在一个方法中找到了循环,该方法将数据写入a NetworkStream然后似乎在funky for循环中读取响应.我不想逐字复制和粘贴别人的代码,但这里是要点:

public bool SendData(string data)
{
  try
  {
    this.imapStreamWriter.Write(data);

    for (bool flag = true; flag; flag = false)
    {
      var s = this.imapStreamReader.ReadLine();
    }
  }
  catch (Exception)
  {
    return false;
  }

  return true;
}
Run Code Online (Sandbox Code Playgroud)

同样,这不是确切的代码,但它是一般的想法.这就是所有方法所做的,它不使用服务器响应,只是true在没有抛出异常的情况下返回.我只是不明白for循环是如何或为什么这样使用的; 任何人都可以解释初始化这个优惠的优势,如果有的话?

c# for-loop

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

从TPL任务向WPF视图报告进度的适当方法是什么?

我试图从小的"块"或页面中读取数据库中的大量行,并将进度报告给用户; 即,如果我在加载每个块时加载100个"块"报告进度.

我在C#4.0中使用TPL从数据库中读取这些块,然后将完整的结果集交给另一个可以使用它的任务.我觉得TPL让我能更好地控制任务取消和切换,而不是BackgroundWorker等,但似乎没有一种内置的方式来报告任务的进度.

这是我实现的向WPF进度条报告进度的解决方案,我想确保这是合适的,并且我应该采取更好的方法.

我首先创建了一个简单的界面来表示不断变化的进度:

public interface INotifyProgressChanged
{
  int Maximum { get; set; }
  int Progress { get; set; }
  bool IsIndeterminate { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这些属性可以绑定到WPF视图中的ProgressBar,并且接口由支持ViewModel实现,后者负责启动数据加载并最终报告整体进度(本示例简化):

public class ContactsViewModel : INotifyProgressChanged
{
  private IContactRepository repository;

  ...

  private void LoadContacts()
  {
    Task.Factory.StartNew(() => this.contactRepository.LoadWithProgress(this))
      .ContinueWith(o => this.UseResult(o));
  }
}
Run Code Online (Sandbox Code Playgroud)

您会注意到我将ViewModel作为INotifyProgressChanged传递给存储库方法,这是我想确保我没有做错的地方.

我的思考过程是,为了报告进度,实际执行工作的方法(存储库方法)需要访问INotifyProgressChanged接口,以报告最终更新视图的进度.这里快速浏览一下存储库方法(本例简述):

public class ContactRepository : IContactRepository
{
  ...

  public IEnumberable<Contact> LoadWithProgress(INotifyProgressChanged indicator)
  {
    var resultSet = new List<Contact>();
    var query = ... // This is a LINQ to …
Run Code Online (Sandbox Code Playgroud)

c# task-parallel-library c#-4.0 progress-bar

3
推荐指数
2
解决办法
4101
查看次数

Knockout.js:选择元素中的清除选择

我需要从<select>元素中清除选择.我已经读过像Knockoutjs这样的帖子,在组合框中清除了选定的值并尝试了接受的答案,但这些解决方案似乎没有用(不知道Knockout 2中的某些内容是否因为答案被接受而发生了变化?) .

这是一个示例视图模型:

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

    self.station = ko.observable();

    self.selectedStation = ko.observable();
    self.selectedStation.subscribe(function (value) {
        self.station(value);
    });

    self.stations = ko.observableArray(['CLT', 'PHL', 'PHX', 'PIT']);

    self.clearSelectedStation = function () {
        self.selectedStation(null);
    };
};

ko.applyBindings(new ClearSelectionViewModel());?
Run Code Online (Sandbox Code Playgroud)

clearSelectedStation被调用时,绑定视图模型属性应该设置到null,这应该由绑定的UI反映<select>元素出现空白和扩大的选项没有透露强调项目的列表.但是,我注意到的是,如果您尝试将绑定值property(selectedStation)设置为不在options(stations)数组中的任何内容,则绑定似乎会被忽略.

这个小提琴说明了我在说什么:http://jsfiddle.net/sellmeadog/Su8Zq/1/

如果我不需要,我不想用"空白"值"污染"选项数组.我想知道如何让链接的帖子中的解决方案起作用.

javascript ko.observablearray knockout-2.0 knockout.js

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

jQuery - 从HTML字符串中查找具有给定数据属性的所有元素

使用jQuery,我试图data-inject从服务器返回的HTML字符串中找到具有属性的所有元素.这是一个示例HTML字符串:

var html = '<div class="container-fluid">
              <div class="row-fluid">
                <div data-inject="ViewModel1" class="span12"></div>
              </div>
            </div>
            <div data-inject="ViewModel2" class="navbar navbar-fixed-bottom"></div>';
Run Code Online (Sandbox Code Playgroud)

我似乎无法找到一种方法来获得两个divs,问题似乎是我开始使用HTML字符串.

这是一个小提示,显示只需查询DOM,就可以$('[data-inject]')按预期返回两个元素.但是,$('[data-inject]', html)仅使用返回一个元素(ViewModel1元素)查询HTML字符串.

任何人都知道我做错了什么以及如何获得预期的结果?

javascript jquery custom-data-attribute

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

React Native“盒子模型”是如何工作的?

border-box在指定高度和/或宽度、填充和边框宽度时,React Native 大小组件是否类似于 CSS框模型?

我只是在学习 RN,当尝试向 iOS 应用程序添加自定义标头时,<View style={{ height: 44, paddingTop: 20 }}>似乎没有产生我期望的 64pt 高度,并进行更改以height: 64, paddintTop: 20使我更接近,但实际上似乎比所需的 64pt 更大。

或者当然,我认为大小错误的假设完全是经验性的。我不知道如何实际测量渲染的组件大小以了解正在使用哪种框模型方法。而且我没有在设备上运行任何东西,只是通过 iOS 模拟器,我不知道这是否可能导致感知的大小问题。

我没有在文档中看到这一点,也没有在谷歌上找到答案。

reactjs react-native

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