Je souhaite modifier une variable dans une fabrique angularjs (1.x) avec un événement click. Après cela, le bouton de pause devrait apparaître. Pourriez-vous s'il vous plaît me aider:Fonction ng-click dans l'usine angularjs
Le lien avec ng-cliquez sur:
<li ng-click='navPlayMusic()'>
<a class="glyphicon glyphicon-play music-control"></a>
</li>
<li ng-show="musicControl.playTitle === true" ng-click='navPauseMusic()'>
<a class="glyphicon glyphicon-pause music-control"></a>
</li>
EDIT:
Le contrôleur:
music.controller('musicController', function($scope, $rootScope, $location, musicControl) {
...
$scope.musicControl = musicControl;
$scope.navPlayMusic = function() {
musicControl.playMusic();
}
...
});
L'usine:
music.factory('musicControl', function() {
return {
playTitle: false,
};
this.playMusic = function() {
return {
playTitle: true
};
};
});
Vous ne semblez pas injecter votre factory 'musicControl' dans votre contrôleur – Phil
@Phil Merci pour votre réponse. Maintenant, j'ai injecté musicControl dans le contrôleur mais ça ne fonctionne toujours pas. – Liberty
Changez l'usine pour retourner la fonction 'playMusic'. Les clients d'une usine peuvent uniquement accéder aux propriétés de l'objet renvoyé. Les propriétés de l'objet 'this' sont ignorées. – georgeawg