2014-11-01 27 views
0

我使用Angular UI Bootstrap用下面的代碼來顯示進度不會改變:進度的最大值時的模式確實

<tr ng-repeat="hero in gamedata.heroes"> 
    <td>{{hero.name}}</td> 
    <td><progressbar max="hero.nextLevel" value="hero.xp">{{hero.xp}}/{{hero.nextLevel}}</progressbar></td> 
</tr> 

這工作得很好,在第一,但它打破我在改變hero.nextLevel時刻我的模型。進度條內的文本更新正常,但max屬性似乎沒有更改。進度條仍然完全填充它首先設置的值,然後繼續增長(不可見,但寬度屬性在檢查時仍然在變化),直到達到新值hero.nextLevel

作爲一個例子,hero.nextLevel被設置爲10.一旦達到這個值,它被設置爲20,XP被設置爲0.當XP達到10時,進度條現在將被再次填充,然後繼續增長直到它達到20,它將在那裏被重新設置。

爲什麼模型更改時max屬性沒有改變?我怎樣才能讓它更新模型?

回答

0

progressbar指令只注意valuetype屬性as evidenced by the corresponding code中的更改。該文檔在屬性名稱後面有一個小小的眼睛圖標,這可能表示這一事實。

因此,除非自行擴展指令,否則無法使用模型更新max值。

+1

這似乎是它,它看起來像它根本不是我設想的方式。我現在通過讓max保持默認值100並自己計算分數來解決這個問題。 – 2014-11-01 13:20:17

相關問題