【发布时间】:2019-09-30 07:29:55
【问题描述】:
我想显示来自 json 的一些数据,但我不能简单地向索引添加偏移量并显示来自某个偏移量的所有 te 数据,而是得到
ERROR TypeError: Cannot read property 'id' of undefineddiv 中的文字没有出现。
我已经尝试在html文件中直接添加一个固定的数字,它可以工作(见下面的代码)。但是,当涉及到使用应该使用输入更新的打字稿中的变量“偏移量”(类型:数字)时,返回类型变得未定义并出现错误。我还尝试在我的打字稿文件中使用一种方法,而不是在 html 文件中进行添加,并返回新索引,但它不起作用并显示错误。我还尝试使用{{addition(i,offset)}} 调用该方法并将结果放入我用作索引的变量中,但它仍然显示错误。
例如,这个 html 文件可以正常工作:
<ng-container *ngFor="let article of data; let i = index">
<ng-container *ngIf="i<(nbElements)">
<div (click)="checkArticle(data[(i+3)].id)">
<p class="text-center"> {{data[(i+3)][dataKey]}}</p>
</div>
</ng-container>
</ng-container>
div 对我的点击做出反应并显示文本。
然而,这个 html 文件不起作用,即使使用父组件中的输入将偏移量设置为 3(如上面的 html):
<ng-container *ngFor="let article of data; let i = index">
<ng-container *ngIf="i<(nbElements)">
<div (click)="checkArticle(data[(i+offset)].id)">
<p class="text-center"> {{data[(i+offset)][dataKey]}}</p>
</div>
</ng-container>
</ng-container>
出现错误。
偏移量(类型:数字)在我的打字稿文件中以这种方式定义,并由父组件更改,并且可以很容易地由子组件使用console.log(offset)显示:
export class AppColumnComponent implements OnInit {
@Input() offset : number ;
我希望输出是显示我的数据 json 文章的文本,但是当我使用data[(i+offset)] 之类的输入更改偏移量时,结果是一个错误,也许不可能使用其他变量来使用其他索引那是一个固定的数字?
感谢您的支持,这是我在 stackoverflow 上的第一篇文章,希望我做得很好! :)
【问题讨论】:
-
这是一个XY problem:与其向我们寻求您认为好的解决方案的帮助,不如说明您最初的目标。
-
另外,如果可以,请在stackblitz.com 上提供minimal reproducible example,这将有助于我们重现行为并为您提供可复制的解决方案。
-
好的,基本上,我想使用 ngFor 循环来显示一个 json,并向它添加一个寻呼机(偏移量),所以这样,我只需要更改父组件的偏移量即可显示来自某个索引的 json。我够清楚了吗? :) 好的,我正在研究 stackblitz.com 示例,谢谢
-
说清楚了,我来回答一下!
标签: html angular typescript ngfor