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

How to get ngModel of input in the controller?

本文关键字:输入 ngModel 获取 控制器      更新时间:2023-09-26

考虑我有控制器和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>

如何正确获取该ngModel并在其上执行$setViewValue

编辑:

我编辑了代码。我必须和$setViewValue一起使用。

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

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

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

您可以直接将值分配给ngModel ,而不是$setViewValue

$scope.entityMail  = "blabla@aaa.com";