- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有公共(public)值 cursorUrl
和检查 url 是否存在的方法,如果存在则分配 urlCursor='pointer'
如果不存在则分配urlCursor='text'
.
该方法似乎工作正常,但是它将每个项目分配给 urlCursor='pointer'
,即使控制台日志打印我应该是
pointer
text
text
text
这是我的方法:
ngOnChanges(changes: any) {
let index = 0;
this.urlCursor =
this.checkUrl(changes.items.currentValue[0].redirectionViewUrl);
index++;
console.log(this.urlCursor);
}
这是 html:
<div class="items" #item(window:resize)="itemResizeHandler();" >
<app-item
*ngFor="let item of items"
class="item-element"
[ngStyle]="{'cursor': urlCursor}"
[dataMode]="item.dataMode"
[redirectionViewUrl]="item.redirectionViewUrl"
></app-item>
</div>
有谁知道为什么绑定(bind)不正确?
最佳答案
绑定(bind)工作正常。您的 urlCursor
不是变量数组而是单个变量,因此最后分配给它的任何值都将用于所有值。尝试修改 ts 文件中的代码,例如:
public urlCursor: string[] = []
...
ngOnChanges(changes: any) {
...
this.urlCursor = [];
this.urlCursor.push(
this.checkUrl(changes.items.currentValue[0].redirectionViewUrl)
);
...
}
和 html 一样:
<app-item
*ngFor="let item of items; let ind=index"
class="item-element"
[ngStyle]="{'cursor': urlCursor[ind]}"
[dataMode]="item.dataMode"
[redirectionViewUrl]="item.redirectionViewUrl"
></app-item>
关于angular - ngOnChanges Angular 2 不分配不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52430580/
NgChanges on 在输入绑定(bind)上运行 - 如果输入是引用类型 - 当引用发生变化时。即像这样的对象: { 值(value):2 如果它的值属性被改变,将不会导致 ngchanges
我正在尝试从组件的输入访问数据,并使用 ngOnChanges 这样做,但在控制台中抛出错误,如 "can not read property 'name' of undefined" but dat
在我的 angular 项目中,我试图通过点击下一个/上一个按钮来浏览列表。我有一个复选框,可以将显示的小时数从几小时更改为几天。我希望能够通过员工来回走动,并使值(value)观正确。有人告诉我,这
我有自动完成表单控件: @Component({ selector: 'app-autocomplete', templateUrl: './app-autocomplete.view
当我向数组添加项目时,ngOnChange 被触发: this.entries = [{"name": "John"},{"name": "Alex"},{"name": "Joe"}] 但当我删除这
我是 Angular 新手,只是关于 ngOnChanges 的问题。我知道 ngOnChanges() 方法需要一个参数(包含来自“@angular/core”的 SimpleChange),我们可
我有一个子组件,在其父组件中使用了两次,它使用 ngOnChaages 来更新值; 这一切都工作正常,但现在我正在尝试根据通过 @Input 变量传递的信息在子级中操作模板。 我发现的是;当父组件首次
我已经设置了 plunk 我在单击按钮时更改对象的 bool 属性,并且在单击 ngOnchange 时应该触发,但没有发生。为什么?。是否与父子组件之间共享相同的对象引用有关? 最佳答案 Angul
我正在使用 Angular 2 @Input 属性将所需的数值传递给子组件,就像这样。 父组件: @Component({ selector: 'test-parent', template: '
我遇到过这样的代码。问题是在选择已经在缓存中的项目后进度条没有消失(当缓存中的 api 调用使其工作正常时)。我能想到的是在 tap 中执行操作后没有运行变化检测。有人可以向我解释为什么吗? @Com
我需要检测 FormGroup 字段的实时变化。我有一个简单的父子组件结构如下: 父组件 View 子组件 Controller @Input() myForm: FormGroup; ngOnCh
我需要检测 FormGroup 字段的实时变化。我有一个简单的父子组件结构如下: 父组件 View 子组件 Controller @Input() myForm: FormGroup; ngOnCh
我正在开发这个 angular2 应用程序,其中我在一个组件中接受两个输入。 我使用 ngOnChanges 来检测这些输入值的变化。 @Input() games: any; @Input() se
所以基本上我有一个对象数组,我想通过 @Input 将数组中选定对象的索引提供给另一个组件。 问题是,当两次选择相同的项目时,ngOnChanges 函数没有检测到变化,因为当我将值从 1 设置为 1
我有一个包含复杂输入(一些图表数据)的子组件。在获得 API 响应后,我通过 Angular 5 中的 @Input() 装饰器从父组件发送此图表数据。因此,每次在父组件上发生更改时,我都需要根据 A
TL;DR:ngOnChanges 显示正在检测输入属性的更改,但未更新 View 我正在开发一个 Angular (2+) 应用程序,试图为使用 Observable 的服务完成的异步任务制作进度条
官方演示代码片段: ngOnChanges(changes: {[propKey: string]: SimpleChange}) {} 我的问题是ngOnChanges的参数。 changes是参数
在 Angular 2 中改变组件属性时,您能否以编程方式触发 Angular 变化检测? @Component({ selector: 'my-component', }) class MyC
比较 NgOnChanges 的最佳方法是什么,同时制作它 字符串类型安全 在 Angular ?目前这就是我正在做的。 NgOnChanges SimpleChanges 变量是数据类型:any 并
我是 Angular 5 的新手,我正在从它提供的官方网站学习组件交互 ngOnChanges(changes: {[propKey: string]: SimpleChange}) {} 并且在生命
我是一名优秀的程序员,十分优秀!