如何在控制器中获取输入的ngModel?

时间:2015-02-09 14:07:56

标签: javascript angularjs angular-ngmodel

考虑我有控制器和输入ngModel

我想在控制器中获取此ngModel并在其上执行$setViewValue

该代码段已附加。尝试执行 - $setViewValue会出错 -

TypeError: Cannot set property '$setViewValue' of undefined



var myAppModule = angular.module('myApp', []); 
	    myAppModule.controller('myCtrl',function ($scope) {
	    			$scope.entityMail.$setViewValue("blabla@aaa.com");
	    });

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular.min.js"></script>
<div ng-app="myApp">
		<form ng-controller="myCtrl">
        	Mail <input type="text" ng-model="entityMail">
    	</form>
	</div>
&#13;
&#13;
&#13;

如何正确获取此ngModel并对其执行$setViewValue

修改

我编辑了我的代码。我必须将其与$setViewValue一起使用。

3 个答案:

答案 0 :(得分:2)

var myAppModule = angular.module('myApp', []); 
    myAppModule.controller('myCtrl',function ($scope,$interval) {
            $scope.entityMail  = "blabla@aaa.com";
    });

答案 1 :(得分:1)

首先,您必须将$ scope.entityMail声明为对象,然后才能在此处应用$ setViewValue。

var myAppModule = angular.module('myApp', []); 
        myAppModule.controller('myCtrl',function ($scope) {
                    $scope.entityMail = {};
                    $scope.entityMail.$setViewValue("blabla@aaa.com");
        });

答案 2 :(得分:0)

您可以直接将值分配给ngModel

,而不是$ setViewValue
$scope.entityMail  = "blabla@aaa.com";