我对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时调用该函数。 任何帮助是极大的赞赏。
答案 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.
}
})
}