亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將選擇元素綁定到角度上的對象

將選擇元素綁定到角度上的對象

幕布斯6054654 2019-06-20 16:59:53
將選擇元素綁定到角度上的對象我對棱角分明是陌生的,我試著用新的做事方法來提高速度。我想將SELECT元素綁定到對象列表中-這很容易:@Component({    selector: 'myApp',    template: `<h1>My Application</h1>               <select [(ngModel)]="selectedValue">                  <option *ngFor="#c of countries" value="c.id">{{c.name}}</option>               </select>`})export class AppComponent{     countries = [        {id: 1, name: "United States"},        {id: 2, name: "Australia"}        {id: 3, name: "Canada"},        {id: 4, name: "Brazil"},        {id: 5, name: "England"}      ];     selectedValue = null;}在本例中,selectedValue似乎是一個數字-所選項的id。但是,我實際上希望綁定到Country對象本身,這樣selectedValue就是對象,而不僅僅是id。我嘗試更改選項的值,如下所示:<option *ngFor="#c of countries" value="c">{{c.name}}</option>但這似乎行不通。它似乎在我選擇的價值中放置了一個對象-但不是我所期望的對象。你可以的在我的柱塞例子中看到這個.我還嘗試綁定到Change事件,以便能夠根據選定的id自行設置對象;但是,似乎在更新綁定ngModel之前,更改事件就會觸發-這意味著我在此時無法訪問新選定的值。是否有干凈的方法將SELECT元素綁定到具有角2的對象?
查看完整描述

3 回答

?
倚天杖

TA貢獻1828條經驗 獲得超3個贊

這可能有助于:


<select [(ngModel)]="selectedValue">

      <option *ngFor="#c of countries" [value]="c.id">{{c.name}}</option>

</select>


查看完整回答
反對 回復 2019-06-20
?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

您也可以這樣做,而不需要使用[(ngModel)]在你的<select>標簽

在ts文件中聲明一個變量

toStr = JSON.stringify;

在模板中這樣做

 <option *ngFor="let v of values;" [value]="toStr(v)">
      {{v}} </option>

然后使用

let value=JSON.parse(event.target.value)

將字符串解析為有效的JavaScript對象


查看完整回答
反對 回復 2019-06-20
  • 3 回答
  • 0 關注
  • 549 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號