Просто пытаясь понять, почему в этом случае мне нужно будет использовать $ scope. $ apply? Согласно всей информации, которую я читал о предмете, мне не нужно, поскольку все происходит внутри Angular? Что мне не хватает?
В мой контроллер:
$scope.savePreset = function(columns, $event){
$event.preventDefault();
preset.name = prompt("Please enter preset name", "My Preset");
if (preset.name != null) {
preset.columns = $scope.columns;
$scope.presets[preset.name] = preset; // (Object)
// Without $scope.$apply() here, view isn't updated. Why?
alert('Your preset "' + preset.name + '" has been saved.');
$scope.loadPreset(preset.name);
} else {
alert('Please enter a valid name.');
}
}
(функция savePreset
называется в директиве нг-клик, и есть более нг повтора для preset in presets
, который не обновляется).
Спасибо, Пим
могли бы вы опубликовать пример в jssfidle ? –
Это из-за 'подсказки'. Вот такой же вопрос: http://stackoverflow.com/questions/16351184/error-digest-already-in-progress-in-angularjs-when-using-alert –