clickイベントでangularjs(1.x)ファクトリの変数を変更したいとします。その後、一時停止ボタンが表示されます。あなたは私を助けてもらえ:angularjsファクトリのng-click関数
NGクリックしてリンク:
<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:
コントローラ:
music.controller('musicController', function($scope, $rootScope, $location, musicControl) {
...
$scope.musicControl = musicControl;
$scope.navPlayMusic = function() {
musicControl.playMusic();
}
...
});
工場:
music.factory('musicControl', function() {
return {
playTitle: false,
};
this.playMusic = function() {
return {
playTitle: true
};
};
});
あなたのコントローラに 'musicControl'ファクトリを注入していないようです。 – Phil
@Philあなたの答えをありがとう。今私はコントローラにmusicControlを注入しましたが、まだ動作しません。 – Liberty
'playMusic'関数を返すようにファクトリを変更します。ファクトリのクライアントは、返されたオブジェクトのプロパティにのみアクセスできます。 'this'オブジェクトのプロパティは無視されます。 – georgeawg