1
私は問題をもう少し具体的にしてみましょう - 私はngForにする場合、戻り値をバインドすることができます。Objectメソッドの戻り値をAngular 2のDOMにバインドするにはどうすればよいですか?
<select id="addTimeslotSelect" style="height:24px; background-color:rgb(235, 235, 228);" disabled>
<option *ngFor="let day of days" data-value="{{day}}" data-label="{{day.toDateString()}}"></option>
</select>
day.toDateString()が正常に動作します。しかし、私がngFor以外の特定のインデックスにアクセスしたいとき、私はそれを働かせるように見えません。
<input id="addTimeslotTextbox" data-value="{{days[days.length-1].toLocaleDateString()}}" type="text" disabled/>
日[days.length-1] .toLocaleDateString()はここでは機能しません。私は次のエラーが表示されます: "未定義のプロパティ 'toLocaleDateString'を読み取ることができません
誰かが前者の場合と後者ではうまくいかない理由についての洞察を持っている場合、
elvis演算子を使用してみてください。 '{{days [days.length-1]?toLocaleDateString()}}'。おそらくビューが初期化された日配列が定義されていない場合 – masimplo
解決方法に時間がかかったり、決して起こらない場合、空白以外の何かを表示するためにデフォルトを提供することを見てきました。 (私はまだ「安全なナビゲーション」オペレータにとって少し新しいです): {{myObj?.value || '...'}} –