小编ron*_*man的帖子

dispatchEvent导致错误,无法在'EventTarget'上执行'dispatchEvent':参数1不是'Event'类型

我正在使用Angular2 + TypeScript,当我尝试执行此代码时:

var event = new Event('check');
window.dispatchEvent(event);
Run Code Online (Sandbox Code Playgroud)

此代码导致下一个错误:

无法在'EventTarget'上执行'dispatchEvent':参数1不是'Event'类型。

我已经尝试了所有方法,发现可以使用:

var event = new CustomEvent('check');
Run Code Online (Sandbox Code Playgroud)

问题是任何IE不支持CustomEvent。

另一件有效的方法是:

var event = new Event('CustomEvent');
event.initCustomEvent('check');
Run Code Online (Sandbox Code Playgroud)

问题是不赞成使用InitCustomEvent。

我有什么办法可以避免这种类型的错误?也许在打字稿中的某个地方例外?还是使用不被弃用且适用于IE Edge的任何代码?

javascript typescript angular

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

角度 2 | 如何根据创建组件的父级将样式设置为动态组件样式?

我有以下 HTML:

  <ul infraTooltip toolTipOptions="{check: 1}">
Run Code Online (Sandbox Code Playgroud)

我创建了一个指令,该指令在其主机上加载动态组件:

@Directive({
  selector: '[infraTooltip]'
})
export class InfraTooltipDirective {
  @Input() toolTipOptions: any =  {};

  constructor(private componentFactoryResolver: ComponentFactoryResolver,
              private viewContainerRef : ViewContainerRef ) {
  }

  @HostListener('mouseenter', ['$event', '$target'])
  showTooltip ($event) {
    this.loadContainerComponent();
  }
  @HostListener('mouseleave', ['$event', '$target'])
  hideTooltip ($event) {
    this.clearContainerComponent();
  }

  loadContainerComponent () {
    let componentFactory = this.componentFactoryResolver.resolveComponentFactory(TooltipContainerComponent);
    let componentInstance =  this.viewContainerRef.createComponent(componentFactory);
    componentInstance.instance.toolTipOptions = this.toolTipOptions;
  }
Run Code Online (Sandbox Code Playgroud)

我想根据指令的主机设置我的动态组件的样式- 在我的例子中是ul,以实现类似让我的动态组件离开:距 ul 10px 的效果

angular2-directives angular

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

将用户凭据存储在钥匙串中以便使用 touchid 登录有多安全?

我想在我的移动应用程序中使用 touchid 实现身份验证机制。我的计划是,用户成功登录后,我将把他的凭据保存到钥匙串中,下次他访问我的应用程序时,我将从钥匙串中获取凭据,并让他在成功的 touchid 匹配后登录。

我想知道将他的密码保存在钥匙串中是否安全。如果设备越狱会发生什么?除了将密码保存在钥匙串中之外,还有其他选择吗?

谢谢你!

keychain ios touch-id

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

Google Maps API-Latlng函数返回未定义

我一直在尝试从lat和lng中获取google LatLng对象,尽管看起来像我一直在使用Google Api编写的LatLng,但我一直未得到定义。

google.maps.LatLng(-34, 151) // undefined
Run Code Online (Sandbox Code Playgroud)

这也是我的 小提琴

javascript google-maps

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