Услуги:AngularJS Service Передача Значение
app.factory("MessageService", ["$timeout", function($timeout) {
return function(message) {
$timeout(function() {
// $scope.fadeMessageSuccess = true;
console.log("Test");
}, 2000);
return message;
}
}]);
код в контроллере:
var message = {
type: "success",
title: "Message Title",
content: "Message Content"
}
$scope.model = MessageService(message);
Вид:
<div ng-controller="AccountCtrl" ng-cloak="">
<div class="ui {{model.type}} message message-overwrite"
ng-class="{'fade': fadeMessageSuccess} ">
<i class="close icon"></i>
<div class="header">
{{model.title}}
</div>
<p>{{model.content}}</p>
</div>
</div>
В принципе, я пытаюсь выяснить, как передать значение от true
до $scope.fadeMessageSuccess
внутри контроллера. Поскольку вы не можете использовать $ scope внутри службы, я не совсем уверен, как перейти к передаче значения внутри функции $timeout
.
Этот полпути работает. Тайм-аут работает правильно, но он передает значения «сообщения» с тайм-аутом 2000 мс. Мне нужно, чтобы значения передавались мгновенно, а $ scope.fadeMessageSuccess = true - единственная часть с таймаутом. –
Я понятия не имею, что вы делаете с сообщением. У меня нет никакого сообщения в моем ответе, потому что я не понял точку передачи сообщения службе, которая вернет ее немедленно. Объясните, чего вы хотите достичь. –
Я хочу передать тип, заголовок и содержимое прямо в область $ scope, а затем через 2 секунды вызвать fadeMessageSuccess. –