我在使用Angular2呈现表达式时遇到问题。Angular2表达式不会呈现
例如,我有类似下面的例子,但{{profile.name}}
什么都不呈现。
但是,它不仅仅是从组件实例访问某些东西的时候。无论我在表达中如何表达,它都不会呈现(例如{{1 + 2}}
)。并且,它会删除表达式所包含的DOM元素的所有内容。
import { Component, View } from 'angular2/core'
@Component({
selector: 'my-component'
})
@View({
template: `
<div class="user">
{{profile.name}}
</div>
`
})
export class MyComponent {
profile
constructor() {
this.profile = {
name: 'John Smith'
}
}
}
不确定我错过了什么。任何帮助将非常感激!
编辑
所以我做了一些进一步的测试,并发现了问题,只有当我使用<router-outlet>
发生。所以,我有东西,看起来像这个(道歉的代码量)
app.ts
import { View, Component } from 'angular2/core'
import { RouteConfig, RouterOutlet } from 'angular2/router'
import { Home } from './home'
@Component({
selector: 'my-app'
})
@View({
template: '<router-outlet></router-outlet>',
directives: [RouterOutlet]
})
@RouteConfig([
{ path: '/', redirectTo: ['/Home'] },
{ path: '/home', as: 'Home', component: Home }
])
export class App {
constructor(public router: Router) {}
}
home.ts
import { Component, View } from 'angular2/core'
@Component({
selector: 'home',
})
@View({
template: '{{name}}'
})
export class Home {
name:string = 'John Smith'
}
您是否在使用它的父类中指定此组件?也就是说,它有'指令:[MyComponent]'? –
任何错误消息?这是正确的孤立 – TGH
我已经做了一些进一步的测试,并发现问题似乎只发生在我使用指令时。任何使用表达式加载的指令都会被删除......我仍然难倒了。我会更新这个例子。 –