angularjs – 访问控制器内的$dirty值

前端之家收集整理的这篇文章主要介绍了angularjs – 访问控制器内的$dirty值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有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',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

猜你在找的Angularjs相关文章