Javascript AngularJS未定义函数

Javascript AngularJS未定义函数,javascript,angularjs,function,cordova,scope,Javascript,Angularjs,Function,Cordova,Scope,我在一个主函数中有两个angularJS$scope函数。调用play()函数时,出现一个错误,指出getPhoneGapPath()未定义。解决这个问题的办法是什么 我的代码: function DontAsk($scope){ $scope.getPhoneGapPath = function(){ var path = window.location.pathname; path = path.substr( 0, path.length - 10 ); retu

我在一个主函数中有两个angularJS$scope函数。调用play()函数时,出现一个错误,指出getPhoneGapPath()未定义。解决这个问题的办法是什么

我的代码:

function DontAsk($scope){
$scope.getPhoneGapPath = function(){

    var path = window.location.pathname;
    path = path.substr( 0, path.length - 10 );
    return 'file://' + path;

}
$scope.play= function(){
    var os = navigator.platform;
    if (os=='iPhone'){
        var url = "sounds/DontEventAsk.mp3";
    }
    else{
        var url = getPhoneGapPath() + "sounds/DontEventAsk.mp3";
    }
    var my_media = new Media(url,
        // success callback
        function() {
            console.log("playAudio():Audio Success");
        },
        // error callback
        function(err) {
            console.log("playAudio():Audio Error: "+JSON.stringify(err));
    });

    // Play audio
    my_media.play();
}}
理想情况下,我希望定义getPhoneGapPath(),并且在主函数之外,因为我有多个函数,比如DontAsk()函数


非常感谢。

范围内没有
getPhoneGapPath
函数。您将此函数定义为
$scope
对象的属性,因此应相应地使用它:

$scope.getPhoneGapPath()

这不公平:(你太快了)啊,非常感谢@尼科尔,你说得对,他跑得很快。
var url = $scope.getPhoneGapPath() + "sounds/DontEventAsk.mp3";