2016-10-22 36 views
1

我正在玩Angular 2以進行學習。Angular2組件不會將屬性綁定到DOM

我寫了一個Tweet組件,我試圖展示隨機圖片,文字和喜歡。事情是這樣的:

tweet.component.html

<div class="media"> 
    <div class="media-left"> 
    <a href="#"> 
     <img class="media-object" src="http://lorempixel.com/100/100/people?1" alt="">  
    </a> 
    </div> 
    <div class="media-body"> 
    <span>{{nameOfThePerson}}</span> 
    <span> {{tweeterHandler}}</span> 
    <span>{{tweetText}}</span> 
    <heart [numberOfLikes]=5></heart> 
    </div> 
</div> 

,我使用它在app.component.html這樣的:

 <div> 
     <tweet 
      [nameOfThePerson]="randomName" 
      [tweeterHandler]="handler1" 
      [tweetText]="firstText"> 
     </tweet> 
    </div> 

在瀏覽器中,我剛開了隨機圖像和數量的喜歡,但不是文字,人名和高音喇叭處理程序。

請告訴我我在這裏錯過了什麼?

全部代碼是在這裏:

https://github.com/tsingh38/Angular2

感謝。

+0

你定義的變量作爲tweet.component中的輸入? – Sefa

回答

2

我的猜測是,你想傳遞randomNamehandler1firstText作爲字符串值到tweet的屬性,但您目前正在做的是將這些名稱的變量作爲值傳遞,問題是它們不存在。如果你想通過randomNamehandlerfirstText爲字符串值tweet的屬性在模板中,有兩種方法可以做到這一點:

<tweet 
    nameOfThePerson="randomName" 
    tweeterHandler="handler1" 
    tweetText="firstText"> 
</tweet> 

或者:

<tweet 
    [nameOfThePerson]="'randomName'" 
    [tweeterHandler]="'handler1'" 
    [tweetText]="'firstText'"> 
</tweet> 
2

你have'nt定義randomName等你app.component.ts文件thts爲什麼瀏覽器不能以這種方式顯示任何內容綁定,而不是

<tweet nameOfThePerson="randomName" 
     tweeterHandler="handler1" 
     tweetText="firstText"></tweet>