gpt4 book ai didi

javascript - 无法设置 Pristine 表单,因为我想将我的问题推送到数组中

转载 作者:行者123 更新时间:2023-11-28 04:20:53 26 4
gpt4 key购买 nike

我正在尝试制作一个测验应用程序....但我想向用户提问,这就是为什么我决定制作一个包含很多条件的表单,例如 (ng-if,ng-show, ng-hide),但是我卡在了 this Application 的最后一点.

最后一点在 quiz.controller.js 行 @166 中的 addQuestion() 函数中

如果我声明所有需要的变量为空,那么它将空数据存储在 db.json 文件中...

我无法找出我错在哪里?

我无法设置原始表格,而我想在每次插入问题后都保持原始状态。

虽然我尝试仅在 quiz.service.js 中实现数据,但我正在使用 json-server。
请帮我。

https://plnkr.co/edit/PZD1QXIirEap3EgXKN1X?p=preview

最佳答案

虽然你没有提到你面临的是什么错误,但我的猜测是因为你在 Controller block 内的 html block 开头有一个 ng-if 如果你调用 $scope.queForm 你得到未定义的。

那是因为 ng-if 创建了一个独立的作用域,这意味着您有两个选择:

1- 将表单传递给 addQuestion:

$scope.addQuestion = function(queForm){
//...
queForm.$setPristine(true);
};

HTML:

<form name="queForm" ng-submit="addQuestion(queForm)" novalidate>

或 2- 将表单添加到对象而不是直接在范围内:

<form name="myFormContainer.queForm" ng-submit="addQuestion()" novalidate>

然后您可以在addQuestion 函数中访问它:

$scope.queForm.$setPristine(true); 

我创建了一个工作示例 here .

关于javascript - 无法设置 Pristine 表单,因为我想将我的问题推送到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42214892/

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