AngularJs不能访问控制器中的表单对象($scope)

前端之家收集整理的这篇文章主要介绍了AngularJs不能访问控制器中的表单对象($scope)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用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('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
    };
});

可能是什么原因,我不能访问$ scope.form从控制器?

只是对于那些没有使用$ scope,而是这样,在他们的控制器,你将不得不添加控制器别名之前的窗体的名称。例如:
<div ng-controller="ClientsController as clients">
  <form name="clients.something">
  </form>
</div>

然后在控制器上:

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

希望它也有助于整套答案。

猜你在找的Angularjs相关文章