在 angularjs 之外访问 $state

Accessing $state outside angularjs

我有一个 angularjs 应用程序。该应用应该是 android 和 iOS 的混合移动应用。我在项目中有一个 JavaScript 文件,它不是任何模块的一部分。在那个 JavaScript 文件中,我需要通过 $state 或任何加载控制器的方法调用相应的模板 URL。

对于 $scope,我在 angularjs 项目之外找到了很多访问它的方法,但找不到 $state 的相同方法。

我们可以使用java-脚本

window.location.href //to change location 

例如: 假设我现在在 https://www.google.co.in/

现在我想导航到 https://news.google.co.in/

我们可以简单地写成

window.location.href ="https://news.google.co.in/"

它将导航到该页面

现在在您的项目中,您可能已经像这样定义了路由

function routeConfig($stateProvider, $urlRouterProvider, $httpProvider) {
$stateProvider
  .state('landing.home', {
    url: '/home',
    templateUrl: "app/components/homeFolder/home.html",
    controller: 'homeController',
    controllerAs: 'homec'
  })
  .state('landing.hometwo', {
    url: '/home1',
    templateUrl: "app/components/OnHand/Templates/OnHandhome.html",
    controller: 'OnHandController',
    controllerAs: 'Onhand'
  })

  })

现在,如果您在 angularjs 控制器中,您只需使用

 $state.go('landing.home');// to navigate to your required location 

但如果您不在 angularjs 模块中,您可以更改 window.location 以导航到所需页面

例如实现---$state.go('landing.home');你可以写

window.location.href ="https:complete url"

否则

window.location.hash ="#/home1" //the url which is defined for that state