AngularJS:我在多个控制器中具有相同的功能。牢记DRY,什么是最好的解决方案?

时间:2014-08-13 03:07:44

标签: javascript angularjs

app.controller('Controller', ['$scope', function($scope){
    $scope.getNote = function (note) {
        return 'http://mydummyaudiofile.com/'+note+'.mp3';
    };
    $scope.notes = function(note){
            var id = "audio-"+note;
            var audio = document.getElementById("audio-"+note);
               audio.load();
               audio.play();
    };
}]);

编写的代码正在运行。如果你很好奇,它本质上是一个键盘,使用ng-repeat循环播放一系列音频文件,并使它们与正确的键对齐。同样,这已经有效了,但我正在使用不同的音频文件阵列(几种类型的键盘)制作几个不同的控制器,而且我不想多次复制/粘贴代码。有没有一个解决方案可以让我'#34;范围"功能,以便我仍然可以使用ng-repeat?我尝试过使用工厂,但失败了。到目前为止,解决方案似乎是使用自定义指令,但在我花费更多时间搞乱它之前,我想确保没有替代方案。

谢谢!

0 个答案:

没有答案