Проблема заключается в том, что ввод текстового поля из моего представления не является обязательным для контроллера.Угловые данные JS не являются обязательными с точки зрения модели
Вот вид сниппет:
<md-dialog-content ng-if="mode=='addSentence'" class="sticky-container">
<md-input-container>
<label for="sentence-text">Enter the sentence to be corrected</label>
<input ng-model="theSentence" name="sentence-text"/>
</md-input-container>
<span flex>{{ error }}</span>
<md-button class="primary" style="float:right;" aria-label="Save" ng-click="saveNewSentence()">Save</md-button>
</md-dialog-content>
А вот функция управления, которая должна обрабатывать входные данные:
function ViewSentenceController($scope, $rootScope, $mdDialog) {
$scope.mode = mode;
$scope.user = user;
$scope.theSentence = null;
$scope.saveNewSentence = function() {
console.log($scope.theSentence);
}
$scope.cancel = function() { $mdDialog.hide(); }
}
Когда saveNewSentence()
вызывается он записывает null
на консоль, даже если я имеют вход в текстовое поле.
Уверен, что у меня что-то не хватает, я не вижу его, но я потратил слишком много времени на эту простую проблему, поэтому заблаговременно за помощь!
Я пытаюсь связать данные в диалоговом окне, а не с родителем. – Yakuman
вы можете увидеть весь контроллер здесь: https://jsfiddle.net/cw797a3b/ – Yakuman