首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取$Scope.Form未定义。处理就绪状态的最佳方法是什么,因此表单是可用的?

获取$Scope.Form未定义。处理就绪状态的最佳方法是什么,因此表单是可用的?
EN

Stack Overflow用户
提问于 2015-08-21 10:13:22
回答 5查看 753关注 0票数 0

我有以下控制器,其中我将表单作为‘未定义的’

代码语言:javascript
复制
angular.module('app').controller('MyController',['$scope', function(){

      $(document).ready(function () { 

      var form = $scope.Form1; // undefined

      }]);
  });

处理就绪状态的最佳方法是什么,因此表单是可用的?

EN

回答 5

Stack Overflow用户

发布于 2015-08-21 10:17:35

您忘记将$scope传递到控制器函数中。校正:

代码语言:javascript
复制
angular.module('app').controller('MyController',['$scope', function($scope){ //$scope in function here

      $(document).ready(function () { 

      var form = $scope.Form1; // undefined

      }]);
  });

而且,你在这里并不需要jQuery。

票数 1
EN

Stack Overflow用户

发布于 2015-08-21 10:21:58

试着取代

代码语言:javascript
复制
'MyController',['$scope', function(){

使用

代码语言:javascript
复制
'MyController',['$scope', function($scope){
票数 1
EN

Stack Overflow用户

发布于 2015-08-21 10:18:45

你错过了什么:

  1. 创建角模块时的空白数组。angular.module('app', [])
  2. $scope在函数论证中的function($scope){

只需做一个适当的选择器,并在func中传递$scope

代码语言:javascript
复制
angular.module('app', []).controller('MyController',['$scope', function($scope){ // <---pass $scope here
    $scope.Form1 = document.querySelector('form')
}]);

下面是一个样本测试:

代码语言:javascript
复制
angular.module('testApp', []).controller('formController',['$scope', function($scope){
    $scope.form = document.querySelector('form');
    $scope.getValue= function(){
      alert($scope.form.id);
    }
}]);
代码语言:javascript
复制
<div ng-app='testApp'>
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.4/angular.min.js"></script>

  <form ng-controller='formController' id='testForm'>
  <input type='text' placeholder='dummy text to be placed' autofocus ng-focus='getValue()'>
  </form>
  
</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32137820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档