我有routeProvider,ng-view和controller.
简单的模板与表单和输入.我可以在{{form.var1.$dirty}}中看到$dirty值 – 当我输入时它会改变,但是如何在控制器代码中访问它?
简单的模板与表单和输入.我可以在{{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',templateUrl:'dirty_tab.html'}). otherwise({redirectTo:'/'}); }); function Ctrl1($scope,$rootScope) { $scope.var1=100; $scope.dodo1 = function() { alert(form.var1.$dirty); } }
警报显示我“未定义”.
如何获得var1 $脏值?
解决方法
正如切尔尼夫在评论中告诉你的那样,你需要从$scope对象访问变量
$scope.form.var1.$dirty