2015-07-08 3 views
-2

Может кто-нибудь, пожалуйста, проинструктирует меня, что делать, чтобы, когда я нажимаю кнопку «отправить», изменяется переменная myName? Благодаря!Как сделать значение углового изменения для отправки?

app.js:

app.controller('SomeController', ['$scope', 'emails', function($scope, emails) { 
    emails.success(function(data) { 

    $scope.emails = data; 
    }); 

    $scope.myName = "John"; 

}]); 

view.html

<div ng-controller="SomeController"> 
    <form name="messageForm" ng-submit="update(myName)"> 
     <input type="text" ng-model="myName"/> 
     <h1>{{myName}}</h1> 
     <input type="submit" value="Send Message"/> 
    </form> 
    </div> 

ответ

0

Похоже, вы пропустили функцию обновления в контроллере:

app.controller('SomeController', ['$scope', 'emails', function($scope, emails) { 
    emails.success(function(data) { 

    $scope.emails = data; 
    }); 

    $scope.myName = "John"; 
    $scope.update = function(name) { 
    $scope.myName = name; 
    }; 

}]); 
+0

Да, я ясно это пропустил. Это шаг в правильном направлении, но он, похоже, не работает. Он не обновляет переменную для меня, когда я нажимаю кнопку submit. – Angelo

+0

Получаете ли вы какие-либо ошибки в консоли? Я подозреваю, что это может быть вызвано сообщением emails.success ..., этот синтаксис очень странный. – yvesmancera

3

Это будет обновляться до тех пор, при вводе:

<input type="text" ng-model="myName"/> 
<h1>{{myName}}</h1> 

Это обновит только тогда, когда вы нажмете представить:

<form name="messageForm" ng-submit="update(myName)"> 
    <input type="text" ng-model="myName"/> 
    <h1>{{myUpdatedName}}</h1> 
    <input type="submit" value="Send Message"/> 
</form> 

на контроллере вы должны иметь:

$scope.update = function(name) { 
    $scope.myUpdatedName = name; 
}; 

Просто имейте в виду, что ваша форма должна быть обернута в любой компонент, который объявляющего ваш SomeController ... например a

<div ng-controller="SomeController"> 
    <!-- your form goes here --> 
</div> 
Смежные вопросы