gpt4 book ai didi

javascript - 在 Angular JS 中填充对象以进行插入

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

我正在尝试在我的 Controller 中准备一个 JSON 对象。这样我就可以将该对象发送到我的 REST 服务进行插入。问题是我的 JSON 对象有点棘手并且有不同的级别。

    {
"ilstbusError": [],
"icdoQuestion": {
"idoQuestion": {
"questionId": 1,
"createdBy": 1,
"createdDate": "2015-03-21",
"isValid": 0,
"modifiedBy": 1,
"modifiedDate": "2015-03-21",
"questionHtml": "Is there good explanation of what dark matter could be in space?",
"questionTitle": "What is dark matter?",
"threadId": 1,
"updateSeq": 0
}
}
}

看起来像上面。因此,为了填充这个对象,我尝试编写下面的代码。

 $scope.ibusQuestion.icdoQuestion.iQuestion.questionTitle = "questionTitle";
$scope.ibusQuestion.icdoQuestion.iQuestion.questionHtml = "questionHtml";
$scope.ibusQuestion.icdoQuestion.iQuestion.threadId = 1;
$scope.ibusQuestion.icdoQuestion.iQuestion.isValid = 0;

但它给了我以下错误

TypeError: Cannot read property 'icdoQuestion' of undefined

有人知道我怎样才能实现这个目标吗?

谢谢法赫德·穆拉吉

最佳答案

您需要定义icdoQuestion先分配基础对象的属性:

$scope.ibusQuestion = {icdoQuestion: {iQuestion: {}}};

$scope.ibusQuestion.icdoQuestion.iQuestion.questionTitle = "questionTitle";
// ...

或者,如果你想让它更奇特,而不用担心提前定义整个嵌套对象结构,你可以使用 Angular $parse服务:

$parse('ibusQuestion.icdoQuestion.iQuestion.questionTitle').assign($scope, "questionTitle");

在这种情况下,您甚至不需要定义 $scope.ibusQuestion根本没有,因为如果 Angular 在 $scope 上找不到它,它会为你创建它。 .

关于javascript - 在 Angular JS 中填充对象以进行插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29200139/

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