【发布时间】:2017-07-28 01:12:16
【问题描述】:
我想通过单击事件更改 angularjs (1.x) 工厂中的变量。之后应该会出现暂停按钮。你能帮帮我吗:
带有ng-click的链接:
<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>
编辑:
控制器:
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 感谢您的回答。现在我将 musicControl 注入控制器,但它仍然无法正常工作。
-
更改出厂返回
playMusic函数。工厂的客户只能访问返回对象的属性。this对象的属性将被忽略。