我在模板中绑定动画触发器名称时收到错误。 [@triggerName]似乎不起作用。我错过了什么?
组件
import {Component, ViewChild, ViewChildren, Input, ElementRef, Renderer} from '@angular/core';
import {trigger, state, style, transition, animate} from '@angular/core';
import 'rxjs/add/operator/map';
@Component({
selector: 'Header',
templateUrl: '/components/header/header.html',
directives: [],
providers: [],
host: {'(document:click)': 'closeLoginModal($event)'},
animations: [
trigger('showLoginTrigger', [
state('true', style({opacity: '1',})),
state('false', style({opacity: '0',})),
transition('0 => 1', animate('400ms ease-in')),
transition('1 => 0', animate('400ms ease-out'))
])
]
})
export class Header {
static get parameters() {
return [[ElementRef]];
}
constructor(ElementRef) {
this.el = ElementRef.nativeElement;
this.showLogin = true;
this.showMenu = false;
this.test = true;
}
closeLoginModal(e) {
if (this.el.contains(e.target)) return;
this.showLogin = false;
}
}
模板玉
button.no-border((click)='test=!test') LOGIN
.login-modal(*ngIf='showLogin', [@showLoginTrigger]='test')
h2
| Publisher
br
| Login
我得到的错误是:
无法绑定到'@showLoginTrigger',因为它不是已知的本机 属性
答案 0 :(得分:3)
问题在于语法 [@ showLoginTrigger] ='test'
RC4 :它应该是 @ showLoginTrigger ='test'
RC5及更高版本:它应该是 [@ showLoginTrigger] ='test'