我有以下控制器,其中我将表单作为‘未定义的’。
angular.module('app').controller('MyController',['$scope', function(){
$(document).ready(function () {
var form = $scope.Form1; // undefined
}]);
});处理就绪状态的最佳方法是什么,因此表单是可用的?
发布于 2015-08-21 10:17:35
您忘记将$scope传递到控制器函数中。校正:
angular.module('app').controller('MyController',['$scope', function($scope){ //$scope in function here
$(document).ready(function () {
var form = $scope.Form1; // undefined
}]);
});而且,你在这里并不需要jQuery。
发布于 2015-08-21 10:21:58
试着取代
'MyController',['$scope', function(){使用
'MyController',['$scope', function($scope){发布于 2015-08-21 10:18:45
你错过了什么:
angular.module('app', [])。$scope在函数论证中的function($scope){。只需做一个适当的选择器,并在func中传递$scope:
angular.module('app', []).controller('MyController',['$scope', function($scope){ // <---pass $scope here
$scope.Form1 = document.querySelector('form')
}]);下面是一个样本测试:
angular.module('testApp', []).controller('formController',['$scope', function($scope){
$scope.form = document.querySelector('form');
$scope.getValue= function(){
alert($scope.form.id);
}
}]);<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>
https://stackoverflow.com/questions/32137820
复制相似问题