我是angularjs的新手并编写了一个小程序,但面临错误" scope.detailsForm"如未定义。有人可以帮我解决下面代码的问题。
b.js文件:
var app = angular.module('my-app', []);
app.controller("my-cont", function($scope) {
$scope.detailsForm.clickme.$setValidity("error1",true);
});
b.html文件:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<script type="text/javascript" src="b.js"></script>
</head>
<body ng-app="my-app" ng-controller="my-cont">
<form method="get" name="detailsForm" ng-model="detailsForm">
<button name='clickme' ng-disabled="detailsForm.clickme.$error.error1">Click Me!</button>
</form>
</body>
</html>
答案 0 :(得分:0)
你的问题是,当你没有构建控制器时你无法得到它,你需要等待Angular处理html。这是一个example。
正如您在控制台中看到的那样,第一个日志将回显未定义,第二个日志将回显表单。
var app = angular.module('MyApp', []);
app.controller("MyCont", ['$scope', function($scope) {
console.log($scope.detailsForm);
$scope.onClicked = function()
{
console.log($scope.detailsForm);
}
}]);