gpt4 book ai didi

json - Angularjs 在 ng-repeat 中将字符串转换为对象

转载 作者:行者123 更新时间:2023-12-02 06:15:49 25 4
gpt4 key购买 nike

我的数据库中保存了一个字符串

{"first_name":"Alex","last_name":"Hoffman"}

我将它作为对象的一部分加载到作用域中,然后使用 ng-repeat 遍历它。范围内的其他值只是字符串
{"id":"38","fullname":"{\"first_name\":\"Alex\",\"last_name\":\"Hoffman\"}","email":"alex@mail","photo":"img.png"}

但我想在 ng-repeat 中使用 ng-repeat 来区分名字和姓氏
<div ng-repeat="customer in customers">    
<div class="user-info" ng-repeat="name in customer.fullname">
{{ name.first_name }} {{ name.last_name }}
</div>
</div>

而我什么也得不到。我认为,问题是,全名值是一个字符串。是否可以将其转换为对象?

最佳答案

首先......我不知道为什么那部分会被存储为一个字符串......但我是来拯救你的。

当你第一次获取数据时(我假设是通过 $http.get 请求)......在你将它存储到 $scope.customers 之前......让我们这样做:

$http.get("Whereever/You/Get/Data.php").success(function(response){
//This is where you will run your for loop
for (var i = 0, len = response.length; i < len; i++){
response[i].fullname = JSON.parse(response[i].fullname)
//This will convert the strings into objects before Ng-Repeat Runs
//Now we will set customers = to response
$scope.customers = response

}
})

现在 NG-Repeat 被设计为遍历数组而不是对象,因此您不需要嵌套的 NG-Repeat...您的 html 应如下所示:
<div ng-repeat="customer in customers">    
<div class="user-info">
{{ customer.fullname.first_name }} {{ customer.fullname.last_name }}
</div>

这应该可以解决您的问题:)

关于json - Angularjs 在 ng-repeat 中将字符串转换为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32831654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com