无法访问对象属性angularjs

not able to access object property angularjs

本文关键字:属性 angularjs 对象 访问      更新时间:2023-09-26

HTML:

  <select ng-model="outlet">
        <option ng-repeat="outlet in outlets" value='{{outlet}}'>
 {{outlet.name}}</option></select>   

现在,在我的控制器中:

console.log(outlet)
console.log(outlet._id)
var selectedoutlet = {"_id":"554c930c79d26026307a5a9d","name":"Model Town","city":"Default"};
console.log(selectedoutlet);
console.log(selectedoutlet._id)

输出:

{"_id":"554c930c79d26026307a5a9d","name":"Model Town","city":"Default"}
 undefined
 {_id: "554c930c79d26026307a5a9d", name: "Model Town", city: "Default"}
 554c930c79d26026307a5a9d

为什么我不能访问出口对象的属性?我该如何解决这个问题?我可以看出这是因为我的对象属性是字符串,但我该如何解决这个问题?我当然不想循环和匹配字符串。我只需要访问对象属性。

使用ng选项将模型作为所选元素的json,如果使用ng重复,则模型将作为字符串绑定到选项值。它应该是这样的:

<select ng-model="outlet" ng-options="outlet.name for outlet in outlets" ng-change="display()">
 </select> 

检查此项以了解进一步的解释。

如果出口变量是字符串而不是对象,则转换为对象的最佳方法是使用JSON.parse(outlet)