Javascript 角度2:Can';t在子模板中使用从父模板传递的数组
我正在尝试使用Angular 2创建看板表。基本上,我的应用程序中有以下组件结构: 应用程序Javascript 角度2:Can';t在子模板中使用从父模板传递的数组,javascript,angular,angular2-template,Javascript,Angular,Angular2 Template,我正在尝试使用Angular 2创建看板表。基本上,我的应用程序中有以下组件结构: 应用程序 app.component.ts app.component.html project.class.ts 任务分配 任务分配.component.ts task assignment.component.html task.class.ts 我的app.component.ts看起来像这样: import { Component } from '@angular/core'; import {
app.component.ts
app.component.html
project.class.ts
- 任务分配
任务分配.component.ts
task assignment.component.html
task.class.ts
app.component.ts
看起来像这样:
import { Component } from '@angular/core';
import { ProjectObject } from './project.class';
import { TaskAssignmentComponent } from './task-assignment/task-assignment.component';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'My Project Table';
// array of tasks
tasks = [];
// array of assignable projects (non-dynamic)
projects = [
new ProjectObject('1', 'Client Request'),
new ProjectObject('2', 'UI Admin Panel'),
new ProjectObject('3', 'Webservice')
]
// some functions here...
}
import { Component, Input} from '@angular/core';
import { AppComponent } from '../app.component';
import { TaskObject } from './task.class';
@Component({
selector: 'task-assignment',
templateUrl: './task-assignment.component.html',
styleUrls: ['./task-assignment.component.css']
})
export class TaskAssignmentComponent {
@Input('tasks') tasks: Array<any>;
@Input('projects') projects: Array<any>;
// some functions here...
}
export class ProjectObject {
constructor(
public ID: string,
public name: string
){}
}
Myapp.component.html
包含我试图向其传递项目对象的任务分配组件:
<task-assignment [tasks]="tasks" [projects]="projects"></task-assignment>
我已经尝试使用task assignment.component.ts
中的OnInit函数将我的projects对象记录到控制台,并已成功
但是-相应的模板task assignment.component.html
不知何故无法访问项目
对象。浏览器控制台或网页包中没有呈现错误
知道我做错了什么吗?
先谢谢你
=======更新===========
我的project.class.ts
如下所示:
import { Component } from '@angular/core';
import { ProjectObject } from './project.class';
import { TaskAssignmentComponent } from './task-assignment/task-assignment.component';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'My Project Table';
// array of tasks
tasks = [];
// array of assignable projects (non-dynamic)
projects = [
new ProjectObject('1', 'Client Request'),
new ProjectObject('2', 'UI Admin Panel'),
new ProjectObject('3', 'Webservice')
]
// some functions here...
}
import { Component, Input} from '@angular/core';
import { AppComponent } from '../app.component';
import { TaskObject } from './task.class';
@Component({
selector: 'task-assignment',
templateUrl: './task-assignment.component.html',
styleUrls: ['./task-assignment.component.css']
})
export class TaskAssignmentComponent {
@Input('tasks') tasks: Array<any>;
@Input('projects') projects: Array<any>;
// some functions here...
}
export class ProjectObject {
constructor(
public ID: string,
public name: string
){}
}
使用ngOnInit()
方法在task assignment.component.ts
中执行console.log(this.projects)
,打印出以下内容:
Array[3]
0: ProjectObject
ID: "1"
name: "Client Request"
__proto__: Object // array with constructor info 'n' stuff inside
1: ProjectObject
ID: "2"
name: "UI Admin Panel"
__proto__: Object // array with constructor info 'n' stuff inside
2: ProjectObject
ID: "3"
name: "Webservice"
__proto__: Object
length: 3
__proto__: Array[0]
尝试在选项标记内呈现{project | json}}。JSON数据是否如您所期望的那样?看起来你有身份证和名字,我想知道这个案子是否正确谢谢你的提示-我已经试过了。不幸的是,它不会打印任何内容。我通过提供projects对象的project.class.ts内容以及console.log更新了我的帖子。也许这有助于揭示问题……当您尝试通过字符串插值来console.log时,会发生什么情况?它有用吗?如果没有,您看到了什么错误?我试图在中复制此问题,但没有发现任何问题,它有效,希望此链接有帮助you@Muirik当我尝试时,它会按预期打印出所有三个对象。不知道为什么模板表达式无法访问数据…请尝试在选项标记内呈现{{project | json}}。JSON数据是否如您所期望的那样?看起来你有身份证和名字,我想知道这个案子是否正确谢谢你的提示-我已经试过了。不幸的是,它不会打印任何内容。我通过提供projects对象的project.class.ts内容以及console.log更新了我的帖子。也许这有助于揭示问题……当您尝试通过字符串插值来console.log时,会发生什么情况?它有用吗?如果没有,您看到了什么错误?我试图在中复制此问题,但没有发现任何问题,它有效,希望此链接有帮助you@Muirik当我尝试时,它会按预期打印出所有三个对象。不知道模板表达式无法访问数据的原因。。。