在angularjs中调用url调用函数

时间:2016-03-13 10:13:37

标签: javascript angularjs

我对angularjs很新,需要帮助调用url调用函数。 我正在使用

直接从url访问查询参数

http://localhost/index.html#/?defined=true&var1=value1&var2=value2&

$location.search()['defined'];

现在,在我的控制器中,我有一个函数'caller',可以在html页面上的ng-change,ng-model等事件上调用,工作正常

angular.module('ngAp').controller
('ngCntrl',function($scope,$http,$location{

    $scope.caller = function() {
       // code logic 
    }
}

我要做的是在直接访问上述网址时调用“来电者”功能

$location.search()['defined'];

if (defined == "true" )
{ //call the caller function.

}

我不知道如何在直接调用url时调用该函数。 任何帮助是极大的赞赏。

1 个答案:

答案 0 :(得分:1)

如果您查看$ location的文档 - https://docs.angularjs.org/api/ng/service/ $ location

您可以使用$locationChangeStart之类的一些活动。但最好在angular.module('ngAp').run(...)中绑定到此事件。

angular.module('ngAp').run(moduleRun);
function moduleRun ($location, $rootScope) {
  $location.on('$locationChangeStart', function (event, newUrl, oldUrl, newState, oldState) {
    var defined = $location.search()['defined'];
    $rootScope.defined = defined //you can assign it to $rootScope;
    if (defined === "true" ) {
      //call the caller function.
    }
  })
}