gpt4 book ai didi

javascript - ng-model 访问嵌套对象

转载 作者:行者123 更新时间:2023-11-28 15:08:51 24 4
gpt4 key购买 nike

我的页面上有一个网格,通过单击该网格中的行,用户可以看到用于编辑该行值的表单。问题是我正在使用 ng-repeat 来显示数据和显示为 [Object object] 的嵌套值。如何获取这些值?我尝试过类似 rowData[k].name 但它仅返回表单的第二部分,第一部分为空。我的错误在哪里? Plunker

代码:

$scope.load = function(){

$http({
method: "GET",
url: 'test.json'
})
.then(function success(response) {
$scope.rowData = response.data;
console.log($scope.rowData)
}, function error(response) {
console.log("It has happend error in response")
}).then(function(){
$scope.id = $scope.rowData.id;
console.log($scope.id);
$scope.rowKeys = Object.keys($scope.rowData);
})
}

html:

<form style="padding: 15px" ng-submit="submitForm()" >
<div class="form-group row">
<div ng-repeat="k in rowKeys | filter: '!0' | filter: '!$$'" ng-model="rowVal" >
<div ng-if="(k === 'id' || k.toLowerCase().endsWith('id') === false) ? true : false">
<label for="rowValue" class="col-sm-2">
{{k | hide:'.name' | makeUppercase }}:
</label>
<div class=" col-sm-2" >
<input class="form-control rowValue" id="rowValue"
ng-model="rowData[k]"/>
</div>
</div>
</div>
</div>
<button type="submit" class="btn btn-default" ng-if="rowData">Save</button>
<button type="button" class="btn btn-default" ng-if="rowData" ng-click="cancelForm()">Cancel</button>
</form>

最佳答案

考虑到您的插件/示例,您将显示三种类型:对象、字符串和数字。您可以使用 angular.isObject(value) 方法来检查值是否为对象。如果它是一个对象,则可以使用点表示法。否则只显示值。

<input ng-if="!isObject(rowData[k])" class="form-control rowValue" id="rowValue"
ng-model="rowData[k]"/>

<input ng-if="isObject(rowData[k])" class="form-control rowValue" id="rowValue"
ng-model="rowData[k].name"/>
$scope.isObject = function(value) {
if(angular.isObject(value)) {
return true;
} else {
return false;
}
}

查看此Plunker .

关于javascript - ng-model 访问嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37575706/

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