2016-08-27 64 views
0

我是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

我想知道以上代碼 – user2225190

+0

form1未定義的問題。我沒有在文件b.html –

回答

0

你的問題是,你不能把它當控制器未建,則需要等待html將由Angular處理。這是一個example

正如您將在控制檯中看到的,第一個日誌將回顯未定義,第二個日誌將回顯該表單。

var app = angular.module('MyApp', []); 
app.controller("MyCont", ['$scope', function($scope) { 

    console.log($scope.detailsForm); 
    $scope.onClicked = function() 
    { 
     console.log($scope.detailsForm); 
    } 
}]);