2013-10-17 3 views
4

저는 routeProvider, ng-view 및 controller가 있습니다. 양식과 입력이있는 간단한 템플릿. {{form.var1. $ dirty}}에서 $ dirty 값을 볼 수 있습니다. 입력 할 때 변경되지만 컨트롤러 코드에서 액세스하는 방법은 무엇입니까?

HTML 주요

<!doctype html> 
<html ng-app="project"> 
<head> 
    <meta charset="utf-8"> 
    <title>Tabs</title> 
    <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" /> 
    <link href="css/bootstrap.min.css" rel="stylesheet" media="screen"> 
    <script src="js/jquery.js"></script> 
    <script src="js/bootstrap.min.js"></script> 
    <script src="lib/angular/angular.js"></script> 
    <script src="js/dirty.js"></script> 
    <!--<script src="js/tab.js"></script>--> 
</head><body> 

      <div ng-view> 

      </div> 

</body> 
</html> 

템플릿

{{2+2}}<br> 
|{{var1}}|<br> 
|{{form.var1.$dirty}}| 
<a href="" ng-click="dodo1();">check dirty</a> 
<form class="form-horizontal" novalidate name="form" ng-submit="submit()"> 
    <input id="var1" name="var1" class="input" type="text" ng-model="var1"> 
</form> 

JS

angular.module('project',[]). 
    config(function($routeProvider) { 
     $routeProvider. 
      when('/', {controller:Ctrl1, templateUrl:'dirty_tab.html'}). 
      when('/tab1', {controller:Ctrl1, templateUrl:'dirty_tab.html'}). 
      otherwise({redirectTo:'/'}); 
    }); 

function Ctrl1($scope,$rootScope) { 
    $scope.var1=100; 
$scope.dodo1 = function() { 
    alert(form.var1.$dirty); 
} 
} 

경고가 "정의되지 않은"저를 보여줍니다. var1 $ 더티 값을 얻는 방법은 무엇입니까?

+8

단지가 될 수 있습니다 :'경고 ($ scope.form.var1 $ 더러운.)': – Cherniv

+2

omg, 너무 바보 같네요 ( – Sol

답변

11

Cherniv 당신이 $ 범위 개체에서 변수에 액세스하는 데 필요한 의견에 말했듯

$scope.form.var1.$dirty