Javascript 无法访问对象属性angularjs

Javascript 无法访问对象属性angularjs,javascript,angularjs,Javascript,Angularjs,HTML: 输出: console.log(outlet) console.log(outlet._id) var selectedoutlet = {"_id":"554c930c79d26026307a5a9d","name":"Model Town","city":"Default"}; console.log(selectedoutlet); console.log(selectedoutlet._id) 为什么我不能访问outlet对象的属性?我如何解决这个问题? 我可以看出这是因为

HTML:

输出:

console.log(outlet)
console.log(outlet._id)
var selectedoutlet = {"_id":"554c930c79d26026307a5a9d","name":"Model Town","city":"Default"};
console.log(selectedoutlet);
console.log(selectedoutlet._id)
为什么我不能访问outlet对象的属性?我如何解决这个问题?
我可以看出这是因为我的对象属性是字符串,但我该如何解决这个问题呢?我当然不想循环和匹配字符串。我只需要访问对象属性。

如果您的outlet变量是字符串而不是对象,那么转换为对象的最佳方法是使用
JSON.parse(outlet)
使用ng选项将模型作为所选元素的JSON,如果使用ng repeat,则将模型作为字符串绑定到选项值。以下是它应该是什么样子:

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


检查进一步解释。

为什么不使用
ng选项
而不是
ng repeat
{"_id":"554c930c79d26026307a5a9d","name":"Model Town","city":"Default"}
 undefined
 {_id: "554c930c79d26026307a5a9d", name: "Model Town", city: "Default"}
 554c930c79d26026307a5a9d
<select ng-model="outlet" ng-options="outlet.name for outlet in outlets" ng-change="display()">
 </select>