2016-11-19 53 views
0

我從網絡服務器管理領域的工作,看起來是這樣的:角數據綁定返回鍵,而不是值

{ 
    "fields":{ 
     "relationshipStatus":[ 
     { 
      "fieldId":4, 
      "name":"Committed" 
     }, 
     { 
      "fieldId":2, 
      "name":"Dating" 
     }, 
     { 
      "fieldId":6, 
      "name":"Engaged" 
     }, 
     { 
      "fieldId":3, 
      "name":"Exclusive" 
     }, 
     { 
      "fieldId":7, 
      "name":"Married" 
     }, 
     { 
      "fieldId":8, 
      "name":"Open Relationship" 
     }, 
     { 
      "fieldId":5, 
      "name":"Partnered" 
     }, 
     { 
      "fieldId":1, 
      "name":"Single" 
     } 
     ] 
    } 
} 

我有一個下拉選擇,讓我用字段名做過濾型材這樣的:

<select ng-model='$storage.filter.relationshipStatus' 
    ng-options="option.fieldId as option.name for option in managedFields.relationshipStatus" 
    ng-change="changeFilter('relationshipStatus')"> 
    <option value="">Any Relationship Status</option> 

在另一個模板,我查看檔案,當我嘗試使用{{profile.relationshipStatus}}得到的關係狀態,說如果他們填寫個人資料已提交,則返回數4.我明白,關聯到承諾,但我不確定如何獲得個人配置文件模板顯示承諾,而不是4.我也嘗試使用{{profile.relationshipStatus.value}}我很新,所以我不知道我是否可以調整這個拉字符串而不是數字?或者我將不得不編寫一些JavaScript來處理數字並輸出實際的字符串,例如。 {{profile.relationshipStatus | relationshipToString}}我試過在多個示例上查找數據綁定,但我不確定我是否找到適用的任何示例,因爲我很新。

有人可以請指出我在正確的方向嗎?謝謝

+0

不正是你問清楚,但你想綁定選擇像這樣https://plnkr.co/edit/FZx15s5tOYh8esyhVp74?p=preview – Deep

+0

我試圖顯示名稱,而不是fieldId。我可以使用{{profile.age}}爲年齡提取個人資料信息,但是當我爲關係這樣的事情做時,我使用{{profile.relationshipStatus}}時,它會顯示1代表單身,2代表約會等。 。我無法弄清楚如何讓模板顯示實際的名字,例如Single,Dating,Married。 – Robbie

+0

這個配置文件對象是什麼?你可以通過這個對象在你的問題 – Deep

回答

0

我覺得下面一行是錯誤的,你想挑fieldId,假裝它作爲option.name

ng-options="option.fieldId as option.name for option in managedFields.relationshipStatus" 

//try this 
ng-options="option.name as option.name for option in managedFields.relationshipStatus" 

詳情請參閱 https://docs.angularjs.org/api/ng/directive/ngOptions

+0

我正在使用它作爲一個例子,以顯示我可以得到實際的名字顯示在下拉列表中,用於過濾器,這是行得通的,而不是顯示1,2, 3.我遇到的問題是,當我爲一個配置文件提取數據時,它顯示的是數字,而不是單個,約會等,並且用戶只會選擇一個用於配置文件關係狀態的設置。 – Robbie

+0

我試圖在模板上的表格中顯示關係狀態,所以我使用​​{{profile.relationshipStatus}}它向我顯示一個數字而不是等效字符串。我想知道我想弄清楚什麼,你可以在表中拖出一個字段並顯示字符串,類似於「option.fieldId as option.name」通過使用大括號顯示實際字符串的方式,或者還有另一種方法來提取這些數據嗎?用戶可以隨時更改它,所以我想要顯示他們設置的內容,而不是1或2或3或4,但是隻顯示單個,約會等。 – Robbie

相關問題