小编Rob*_*man的帖子

我如何使用ngFor作为字符串数组迭代Typescript Enum

我正在使用Angular2和Typscript.我有一个枚举:

export enum Role {
    ServiceAdmin, CompanyAdmin, Foreman, AgentForeman, 
    CrewMember, AgentCrewMember, Customer
}
Run Code Online (Sandbox Code Playgroud)

我想使用*ngFor迭代枚举.做这个的最好方式是什么?我必须创建一个管道吗?或者有更简单的方法吗?

angular2-template angular

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

Firebase中的多对多关系

我有一个Firebase数据库.我有公司和承包商.承包商可以为多个公司工作,公司可以拥有多个承包商.这是一个简单的多对多关系.我希望能够回答有关公司和承包商的问题:

  1. 鉴于一家公司,谁是现有的承包商.
  2. 鉴于承包商他们为公司工作的是什么.

在firebase中构建数据的替代方法有哪些?

nosql firebase firebase-realtime-database angularfire2

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

如何在使用angularfire2时访问本机Firebase对象?

我正在使用AngularFire2(2.0.0-beta.2)与angular2(2.0.0-rc.4)组合.我想从Angularfire2访问本机firebase对象(不是AngularFire根对象).

在我的组件中,我想进行如下调用:

firebase.auth().currentUser.updateEmail("user@example.com")
Run Code Online (Sandbox Code Playgroud)

firebase是本机firebase对象,就像你从下面的片段得到的那样:

<script src="https://www.gstatic.com/firebasejs/3.1.0/firebase.js"></script>
  <script>
    // Initialize Firebase
    // TODO: Replace with your project's customized code snippet
    var config = {
      apiKey: "apiKey",
      authDomain: "projectId.firebaseapp.com",
      databaseURL: "https://databaseName.firebaseio.com",
      storageBucket: "bucket.appspot.com",
    };
    firebase.initializeApp(config);
  </script>
Run Code Online (Sandbox Code Playgroud)

但我不明白如何设置我的angular2组件,以便firebase对象在其中可见.可能是一个非常简单的问题需要解决,但我不知道如何解决 - 我不是一个有角度的专家.我希望有和AngularFire api得到对象,但没有.

此外,我试图这样做的原因是我不认为angularfire2 api是完整的(这可以理解,因为它仍处于测试版)并且我正在努力解决这个问题.例如,我想更新用户的电子邮件地址或密码,或向他们发送忘记密码的电子邮件.AngularFire2中似乎还没有这个功能,所以我尝试使用本机Firebase对象来实现.

firebase firebase-authentication angularfire2

12
推荐指数
3
解决办法
2337
查看次数

如何在客户端过滤FirebaseListObservable?

我在Angular Web应用程序中使用AngularFire2.由于Firebase的查询限制,我无法形成完全提供所需数据的查询(至少在没有对我的架构进行重大更改的情况下).

所以我想在javascript(typescript)中应用额外的客户端过滤条件.我该怎么做呢?我可以以某种方式向observable添加过滤函数吗?下面是一个片段,说明了我在做什么.

在组件的HTML模板中,我有类似下面的内容.html片段中的"jobs"变量是FirebaseListObservable.

<tr *ngFor="let job of jobs | async"> 
  .. fill in the table rows
Run Code Online (Sandbox Code Playgroud)

组件代码如下所示:

   // in the member declaration of the class
   jobs : FirebaseListObservable<Job[]>;

   ...
   // Notice in ngOnInit(), I'm filtering the jobs list using the the
   // Firebase criteria. But I want to filter on an additional field. 
   // Firebase allows only single field criteria, so I'm looking for 
   // a way to apply an additional client-side filter to jobs to eliminate
   // some …
Run Code Online (Sandbox Code Playgroud)

observable rxjs firebase-realtime-database angularfire2 angular

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

Firebase中的一对多关系

我有一个Firebase数据库.我有Job对象和Item对象.每个作业可以包含许多项目,并且一个项目必须由单个作业(简单一对多)包含.我目前的数据库结构是Item和Job都是firebase中的顶级列表,每个Item包含它所属的jobKey.只要我知道作业密钥,这允许我查找作业中的所有项目.用于查找项目的firebase代码需要一个查询,其中包含项目中jobKey的"orderBy".因此,很容易检索作业的所有项目.但是,我还想根据项目中的其他数据对项目进行排序和过滤.但是由于单个"orderBy"的firebase限制,我无法使用firebase完成第二级过滤.这是我的挑战.我现有数据的结构如下所示.

+--jobs
  |
  +-- jobKey1
  |  |
  |  +-- <jobdata1> ..
  |  
  +-- jobKey2
     |
     +-- <jobdata2>..

+--items
  |
  +-- itemKey1
  |  |
  |  +-- jobKey : jobKey2  // this item belongs to job2
  |  |
  |  +-- <the rest of item1 data
  |  
  +-- itemKey2
  |  |
  |  +-- jobKey : jobKey2  // this item belongs to job2
  |  |
  |  +-- <the rest of item2 data
  |  
  +-- itemKey3
  |  |
  |  +-- jobKey : jobKey1  // this …
Run Code Online (Sandbox Code Playgroud)

firebase firebase-realtime-database angularfire2

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

调试测试时自动设置 jest 超时的最佳方法是什么?

我有一个nodejs项目。我正在使用调试器(如果重要的话在 IntelliJ 中)来逐步完成测试。我想使用最佳实践配置我的项目,以便在使用调试器时将测试超时修改为长于默认的 5 秒。我知道我可以将以下行放入 package.json 中来更改超时。

{
  "name": "my-project",
  "jest": {
    "testTimeout": 20000
  }
}
Run Code Online (Sandbox Code Playgroud)

但我正在寻找一种在调试时仅(并且自动)修改超时的方法。我确信有一个好方法,但我对 Nodejs 和设置各种环境的约定/机制相当陌生。

javascript typescript jestjs

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

如何使用AngularJS 2创建可重用的嵌套子窗体组件

我正在使用Angular2创建一个Web应用程序。我有几个数据输入屏幕,用户必须在其中输入邮政地址,该地址是诸如Company或Person之类的实体的较大数据输入的一部分。

因此,我自然希望创建一个地址表单组件,该组件可以作为子表单重用,并以某种方式嵌入或包含在较大的表单中。这似乎应该可行,但是我无法创建示例或查找示例。我试图创建一个具有FormBuilder作为输入的子组件,但这不起作用。

对我来说,问题是我似乎无法成功将封闭的<form>标记传达给我的html模板。

有人知道这种方法吗?

angular

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

Swift中的switch语句允许重复的case值.这个功能还是bug?

swift switch语句(在Xcode 6.1中测试)允许重复切换值.请参阅下面的代码,编译和运行没有错误.显然,第一个匹配值是执行的情况.后续案例将被忽略.这是一个错误或功能吗?如果是一个功能,它有什么用?

class SwitchTest{

enum E {
  case one, two, three
  }

func test() {
  switchStmt(E.one)  // outputs: "one, two"
  switchStmt(E.two)  // outputs: "one, two"
  switchStmt(E.three) //outputs: "three, two"
}

func switchStmt(e : E)
{
  switch (e){
  case .one, .two:
    println("one, two")
  case .three, .two:
    println("three, two")
  case .one:
    println("one")
  case .two:
    println("two")
  }
}
}
Run Code Online (Sandbox Code Playgroud)

swift

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