gpt4 book ai didi

AngularJs 无法访问 Controller 中的表单对象($scope)

转载 作者:行者123 更新时间:2023-12-03 05:33:23 24 4
gpt4 key购买 nike

我正在使用 bootstrap-ui ,更具体地说是模态窗口。我在模式中有一个表单,我想要的是实例化表单验证对象。所以基本上我正在这样做:

<form name="form">
<div class="form-group">
<label for="answer_rows">Answer rows:</label>
<textarea name="answer_rows" ng-model="question.answer_rows"></textarea>
</div>
</form>

<pre>
{{form | json}}
</pre

我可以毫无问题地在 html 文件中看到表单对象,但是如果我想从 Controller 访问表单验证对象。它只是向我输出空对象。这是 Controller 示例:

.controller('EditQuestionCtrl', function ($scope, $modalInstance) {
$scope.question = {};
$scope.form = {};

$scope.update = function () {
console.log($scope.form); //empty object
console.log($scope.question); // can see form input
};
});

我无法从 Controller 访问 $scope.form 的原因可能是什么?

最佳答案

对于那些在 Controller 中不使用 $scope 而是使用 this 的人,您必须在表单名称之前添加 Controller 别名。例如:

<div ng-controller="ClientsController as clients">
<form name="clients.something">
</form>
</div>

然后在 Controller 上:

app.controller('ClientsController', function() {
// setting $setPristine()
this.something.$setPristine();
};

希望它也能对整体答案有所贡献。

关于AngularJs 无法访问 Controller 中的表单对象($scope),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21574472/

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