2016-10-31 3 views
0

Я пытаюсь просто Угловое приложение и у меня есть проблемыУгловая переменная фабрика

var module = angular.module("app", []); 
module.controller('Main', function ($scope, button) { 
    $scope.displayText = button.dispText; 

    $scope.increment = function() { 
     button.increment(); 
     $scope.displayText = button.dispText; 
    } 

}) 


module.factory('button', function() { 
    var displayText = '0'; 
    var intButton = 0; 

    return { 
     increment: function() { 
      intButton++; 
      displayText = intButton.toString() 
     }, 
     getDisplayText: function() { 
      return displayText; 
     }, 
     dispText: intButton.toString() 
    } 
}); 

Всякий раз, когда приращение функции называется переменные в моей фабрике обновляется, но значение не передано в контроллер. Зачем?

+1

'$ scope.displayText = button.dispText,' должен быть '$ scope.displayText = button.getDisplayText (); ' –

ответ

0

Вам нужно вызвать функцию getDisplayText() с завода и присвоить переменной

$scope.increment = function() { 
    button.increment(); 
    $scope.displayText = button.getDisplayText(); 
    } 
Смежные вопросы