小编dot*_*tcs的帖子

Angular 2 - 在构造函数中使用其他参数混合依赖注入

在下面的类中,我想抽象出http依赖关系,这样Angular 2就会使用普通的依赖注入来注入http对象.

import { Http } from '@angular/http';

class MyCollectionView<T> extends CollectionView {
  constructor(private endpoint: string, private http: Http) {
  }

  // ... implemenation of class ...
}
Run Code Online (Sandbox Code Playgroud)

我想用这个课程如下:

class MyClass {
  private collection: MyCollectionView<ITestRow>;

  constructor() {
    this.collection = new MyCollectionView<ITestRow>('/some/endpoint');
  }
}
Run Code Online (Sandbox Code Playgroud)

要在我当前的实现中实例化,我必须写

class MyClass {
  private collection: MyCollectionView<ITestRow>;

  constructor(private http: Http) {
    this.collection = new MyCollectionView<ITestRow>('/some/endpoint', http);
  }
}
Run Code Online (Sandbox Code Playgroud)

据我所知,不可能在构造函数中组合ng2依赖注入和自定义参数.我想我需要某种工厂功能来处理依赖注入部分,但到目前为止我没有运气.特别是因为该课程也使用了泛型.我可以遵循哪些最佳做法?

请注意,在单元测试中,仍然可以用MockBackend相反的方法来解析DI .

我在stackoverflow上发现了这个问题,但是它最受欢迎的答案不能用于恕我直言,因为参数必须是动态的.

dependency-injection typescript angular

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

Android:使用查找键管理联系人

我目前正在编写一个允许保存草稿的应用程序(使用android版本> = 2.0).每个草案都通过联系人与联系人联系ContactsContract.Contacts.LOOKUP_KEY.我的问题是,如果我更改联系人的姓名,查找键也会更改.这是这样的吗?

那么我需要一个查找键呢?我认为查找键永远不会改变,现在它无论如何都会改变.我对这种行为感到困惑......

有人可以向我解释如何永久链接到联系人吗?我应该使用ID而不是查找键吗?

提前致谢.

android android-contacts

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

如何检查iframe的html是否安全?

我从html代码的API字符串获取,其中可能包含来自以下服务的嵌入视频:

  • youtube.com,
  • vimeo.com,
  • dailymotion.com,
  • prezi.com

如果我确定它足够安全,我可以将它们转换为可信的SafeHtml(绕过Angular的消毒剂):

this.safeHtml = this._sanitizer.bypassSecurityTrustHtml(this.htmlFromApi);
Run Code Online (Sandbox Code Playgroud)

然后将它放在这样的页面上:

<div [innerHtml]="safeHtml"></div>
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 我必须执行哪些检查才能确保此字符串足够安全?(它不包含嵌入式脚本,只导致这四个站点中的一个没有任何棘手的重定向)?

  2. 以某种方式将这些网站添加到Angular的消毒剂的例外中是否有意义?如果是的话怎么做?

提前致谢!

ps我看到了类似的问题:如何检查HTML字符串是否安全? 但我希望Angular最佳实践有一些更新鲜和相关的东西

html-sanitizing angular angular-sanitizer

6
推荐指数
0
解决办法
278
查看次数