2015-02-09 3 views
0

У меня есть контроллер и вход с ngModel.Как получить ngModel ввода в контроллер?

Я хочу получить этот ngModel в контроллере и выполнить на нем $setViewValue.

Отрывок прилагается. Пытается выполнить - $setViewValue дает ошибку -

TypeError: Cannot set property '$setViewValue' of undefined 

var myAppModule = angular.module('myApp', []); 
 
\t  myAppModule.controller('myCtrl',function ($scope) { 
 
\t  \t \t \t $scope.entityMail.$setViewValue("[email protected]"); 
 
\t  });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular.min.js"></script> 
 
<div ng-app="myApp"> 
 
\t \t <form ng-controller="myCtrl"> 
 
     \t Mail <input type="text" ng-model="entityMail"> 
 
    \t </form> 
 
\t </div>

Как получить этот ngModel правильно и выполнять $setViewValue на нем?

Edit:

Я отредактировал мой код. Я должен использовать его с $setViewValue.

+0

Почему вы заходящего 3 секунды интервал? 'entityMail' не определено, поскольку оно еще не имеет значения. –

+0

Смотрите мое обновление, пожалуйста. Как изменить его, даже если его еще нет? – URL87

+0

Зачем нужно * использовать '$ setViewValue'? Просто устанавливая значения, '$ scope.entityMail = 'something'' будет отображаться в представлении – Tom

ответ

2
var myAppModule = angular.module('myApp', []); 
    myAppModule.controller('myCtrl',function ($scope,$interval) { 
      $scope.entityMail = "[email protected]"; 
    }); 
+0

Смотрите мое обновление, пожалуйста – URL87

1

Сначала вы должны объявить $ scope.entityMail как объект, тогда вы можете применить в этом случае $ setViewValue.

var myAppModule = angular.module('myApp', []); 
     myAppModule.controller('myCtrl',function ($scope) { 
        $scope.entityMail = {}; 
        $scope.entityMail.$setViewValue("[email protected]"); 
     }); 
0

Вместо $ setViewValue вы можете непосредственно присвоить значение в ngModel

$scope.entityMail = "[email protected]"; 
Смежные вопросы