问题标签 [angular2-hostbinding]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4340 浏览

angular - @HostBinding 装饰器的参数是什么?

找不到它的文档。

从示例中我得到了 3 个案例:

  • @HostBinding(" attr .something")

  • @HostBinding(" class .something")

  • @HostBinding("样式.something")

但还有更多吗?

0 投票
1 回答
233 浏览

angular - AoT 编译中的 Angular2 主机绑定问题

使用最新的Angular2 Webpack Starter (v5.4.1./Angular 2.4.6) 我正在尝试使用 AoT 编译器构建我的代码。在自定义表单输入组件中,我有这个host binding

构建运行npm run build:aot:prod失败并显示此消息

中的相应行(142)ngfactory是这样的:

显然它与主机绑定有关。开发构建中的此代码被 JIT 编译没有问题。任何想法如何解决这一问题?

0 投票
1 回答
574 浏览

angular - 在Angular 2中使用@HostBinding在模板子元素上使用mouseenter / mouseleave更改主机类

当我们在模板中的子元素上触发 mouseeneter/mouseleave 事件时,有没有办法动态使用@HostBinding,即:

在模板.component.html

并在 template.component.ts

@HostBinding('class') classes = this.getMouseClass();

在哪里:

0 投票
4 回答
77977 浏览

html - Angular 2:获取 HTML 元素的位置

我正在尝试在 Angular 2 中实现一个自定义指令来移动任意 HTML 元素。到目前为止,一切正常,除了当我单击它并想要开始移动时,我现在不知道如何获取 HTML 元素的初始位置。我正在使用这两个主机绑定绑定到我的 HTML 元素的top和样式:left

问题是他们都undefined处于起步阶段。我只能更新也会更新 HTML 元素但我无法读取的值?应该是这样吗?如果是的话,我有什么替代方法来检索 HTML 元素的当前位置。

0 投票
4 回答
26421 浏览

angular - 使用 angular2 @HostListener 时未显示 onbeforeunload 确认对话框

使用@HostListener 钩子,但确认对话框(询问:你想离开这个页面吗?...或者你想重新加载这个页面吗?)没有显示。

该代码有效,但未显示确认对话框。

这是我所拥有的:

但我没有看到这个:

在此处输入图像描述

0 投票
1 回答
1214 浏览

angular - 在 Angular 2 中使用 HostListener/Binding 和 NgFor 元素

我有用户列表。我希望当光标悬停在按钮上时,它设置*ngIf为 true,然后显示有关用户的信息(当光标离开按钮时为 false)。

user-list.html

user-list.component.ts

我像这样使用“toggleUser(user:User)”: (click)='toggleUser(user)'但是我现在想要一个onHover而不是点击。

我在 Angular.io 网站上看到了关于指令属性的教程,在HostBinding('ngIf').

Angular2中的主机绑定ngIf

onUserHover.directive.ts

但我在浏览器上有一个错误:

我该怎么做才能以 Angular 2 风格实现此功能?

0 投票
1 回答
2700 浏览

angular - Angular @Hostbinding 不起作用

我与@Hostbinding 有类似的问题,就像其他问题一样,但我无法解决。

我的模板:

我的指令

  1. 问题是,我的 isMyCirclePic 是第一次未定义。之后它将被设置为真或假。我多次使用相同的模板,当我单击其他模板(来自同一种模板)时,myCirclePic 也未定义。
  2. 我在事件中改变真或假,但它不会被渲染。我的“class.img”图片每次都保持相同的值。

更新

我已经尝试了@Input @HostBinding 的解决方案。

还有我的 myColor-Directive:

但它仍然无法正常工作。我可以看到,该值将由@Input-param 传递。我可以看到,该 set-function 将被调用。但我看不到,get-function 将被调用,正如我所期望的那样。所以我看不到任何变化。

0 投票
2 回答
8500 浏览

angular - 在Angular 4中的组件上应用属性指令

我创建了具有@Input()绑定属性 src 的 img-pop 组件。我创建了具有@HostBinding()属性 src 的 authSrc 指令。

我有这样的指令。

我想将这两种功能合二为一。

这样最终的 url 调用将是 /api/url/to/image?access_token= <--token-->

但它会引发Can't bind to 'src' since it isn't a known property of 'img-pop'.错误

plnkr 链接

如果我对概念有误,请纠正我。

谢谢你。

0 投票
1 回答
2086 浏览

css - Angular2如何在拖放时更改背景颜色

我有一个用 Angular 2 打字稿编写的拖放容器。我想在将文件拖入容器时更改拖放容器的背景颜色。

打字稿:

HTML:

我厌倦了使用 HostBinding 更改背景颜色,但它不起作用。如何检测拖动状态并更改其 CSS?

0 投票
1 回答
2138 浏览

angular - 将元素的宽度传递给我自己的指令时出现 ExpressionChangedAfterItHasBeenCheckedError。

我为表头( tad标签)创建了自己的指令。这使得表格的标题是“粘性的”(具有固定位置并且在滚动表格期间可见)。它看起来像这样:

粘性指令.ts

并以这种方式调用:

它工作正常,但在控制台中我收到错误:


谁能解释我做错了什么?如何保护我的应用免受此异常的影响,或者创建类似指令的正确方法是什么?提前致谢