Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Angular 2中渲染一定数量的子组件_Javascript_Angular - Fatal编程技术网

Javascript 在Angular 2中渲染一定数量的子组件

Javascript 在Angular 2中渲染一定数量的子组件,javascript,angular,Javascript,Angular,我有以下问题。我有一个父组件,它将根据一些计算渲染一定数量的子组件。因此,我有以下几点: @Component({ selector: 'my-app', template: ` <child-element [count]="count"></child-element> ` directives: [ChildElement] }) @组件({ 选择器:“我的应用程序”, 模板:` ` 指令:[子元素] }) 然后在Child元

我有以下问题。我有一个父组件,它将根据一些计算渲染一定数量的子组件。因此,我有以下几点:

@Component({
   selector: 'my-app',
   template: `
      <child-element [count]="count"></child-element>
   `
   directives: [ChildElement]
})
@组件({
选择器:“我的应用程序”,
模板:`
`
指令:[子元素]
})
然后在Child元素中,我想做如下的事情

@Component({
   selector: 'child-element',
   template: `
      <ul>
         <another-element *ngFor="//here should be the count number of elements//"></another-element>
      </ul>
   `
})
@组件({
选择器:“子元素”,
模板:`
` })
我想到的是创建一个for循环,创建
计数
元素数,然后在模板中循环该数组,但是有更好的方法吗?理想情况下,我应该能够将一些附加属性传递给另一个元素


谢谢,也许这会对你有所帮助

输入:
@Input()计数:数字

助手:
范围(计数)

创建:

从'angular2/core'导入{组件,输入};
@组成部分({
选择器:“子元素”,
模板:`你好`
})
导出类子元素{
@输入()计数:数字;
构造函数(){
}
范围=(值)=>{
设a=[];
对于(设i=0;i

您是否尝试过传入对象数组而不是传递
count
?然后可以在该数组上运行
ngFor
循环,并从数组中的对象中提取附加属性。
import {Component, Input} from 'angular2/core';

@Component({
    selector: 'child-element',
    template: `<li *ngFor="#int of range(count)"> Hello </li>`    
})

export class ChildElement{

    @Input () count: number;

    constructor(){

    }

    range = (value) => { 
        let a = [];

        for(let i = 0; i < value; ++i) { 
            a.push(i+1) 
        } 
     return a; 
    }
}


@Component({
    selector: 'my-app',
    template: `
              <h1>Hello World Angular2</h1> 
              <child-element [count]="5"></child-element>
              `,
    directives: [ChildElement]
})

export class App {
    constructor(){

    }
}