我正在使用Angular2開發項目,直到現在發現它真棒!但另一方面,我發現一些非常簡單的任務令人沮喪。Angular2在子項目執行時向父組件添加類
嗯,我試圖做的是非常簡單的:
在我的應用我有一個頭分量(通過所有應用程序重複使用)和搜索欄組件。
頁眉部分看起來像這樣:
import {Component, Input} from '@angular/core';
import {IONIC_DIRECTIVES} from 'ionic-angular';
import {SearchBar} from './../../component/search/search.component';
@Component({
selector : 'med-header',
templateUrl : 'build/component/header/header.component.html',
directives : [IONIC_DIRECTIVES, SearchBar]
})
export class Header {
@Input()
showLogo : number;
/**
* constructor
*/
constructor(){
}
};
而且模板:
<ion-header>
<ion-navbar>
<ion-title>
<img *ngIf="showLogo" src="build/assets/images/logo.png" id="main-logo" />
</ion-title>
<div id="search-box"><med-search></med-search></div>
</ion-navbar>
</ion-header>
而且搜索欄組件:
import {Component} from '@angular/core';
import {IONIC_DIRECTIVES} from 'ionic-angular';
import {NavController} from 'ionic-angular';
@Component({
selector : 'med-search',
templateUrl : 'build/component/search/search.component.html',
directives : [IONIC_DIRECTIVES]
})
export class SearchBar {
private focused : boolean;
private keyword : any;
/**
* constructor
*/
constructor(private navCtrl : NavController){
}
animateComponent(){
this.focused = true;
}
};
和搜索欄的模板:
<ion-searchbar (ionInput)="getItems($event)" [(ngModel)]="keyword" [ngClass]="{'focused' : focused}" (ionFocus)="animateComponent()"></ion-searchbar>
我想實現這個簡單的任務:當用戶集中在搜索欄上,動畫的搜索欄的容器(例如,增加它的寬度等)
好吧,如果這是jQuery的,我將很容易地完成這項任務。 在angualr2中它似乎有點複雜。
我想,也許使用:主機選擇,我可以實現我的目標,但發現,我無法知道,如果搜索欄集中與否。 我也考慮過EventEmitter,但它聽起來像是一種矯枉過正,並沒有像預期的那樣工作。 有沒有辦法將一個類應用於父項,並將其放在它的子項上?
有誰知道該怎麼做?
謝謝。
難道你不完全用CSS3過渡嗎? – pixelbits
@pixelbits井ufcourse我試過了。但我不知道任何工作技術來引用某個元素的父項。因此,當兒童輸入被關注時,我無法改變父母。 – MorKadosh