Javascript AngularJS UI路由器的工作方式与ng路由器的工作方式不同

Javascript AngularJS UI路由器的工作方式与ng路由器的工作方式不同,javascript,angularjs,angular-ui-router,angular-routing,Javascript,Angularjs,Angular Ui Router,Angular Routing,我正在尝试使用AngularUI路由器库,它比ng路由器有更多的功能。 但是,ng路由器在页面中工作,而ui路由器不工作 角码 $stateProvider .state('map.main', { url: '/', template: '<h1>My Contacts</h1>' }); //$routeProvider.when( //"/", { // template

我正在尝试使用AngularUI路由器库,它比ng路由器有更多的功能。 但是,ng路由器在页面中工作,而ui路由器不工作

角码

    $stateProvider
        .state('map.main', {
        url: '/',
        template: '<h1>My Contacts</h1>'
    });

    //$routeProvider.when(
    //"/", {
    //    template: '<h1>My Contacts</h1>'
    //});
   $locationProvider.html5Mode(false);
$stateProvider
.state('map.main'{
url:“/”,
模板:“我的联系人”
});
//$routeProvider.when(
//"/", {
//模板:“我的联系人”
//});
$locationProvider.html5Mode(false);
HTML代码非常简单 带有用于ng视图或ui视图的div标记

任何人都可以思考任何问题吗?

您需要调整您的状态def,至少是这样

.state('map', {
  abstract: true,
  template: '<div ui-view=""></div>',
})
.state('map.main', {
  url: '/',
  template: '<h1>My Contacts</h1>'
});
.state('map'{
摘要:没错,
模板:“”,
})
.state('map.main'{
url:“/”,
模板:“我的联系人”
});
我们可以看到,有一个新的状态“map”,它是“map.main”的父级。如果我们想拥有状态“map.main”,这是必须的。点(.)是UI路由器的信息,状态构建为层次结构(父映射,子主)

此外,在index.html中,我们必须创建一个目标:

<div ui-view=""></div>

这将作为我们父母的占位符。然后将子项注入父项的
模板:“”,

检查一下

请尝试在此处阅读更多内容:

  • 实例应用及其状态定义

您在声明子路由时没有定义父路由, 您应该首先声明父状态,然后添加代码

代码

$stateProvider
.state('map', {
    abstract: true, //you can't call it directly
    template: '<div ui-view=""></div>'
}).state('map.main', {
    url: '/',
    template: '<h1>My Contacts</h1>'
});
$stateProvider
.state('map'{
摘要:是的,//您不能直接调用它
模板:“”
}).state('map.main'{
url:“/”,
模板:“我的联系人”
});

您的州是否将
映射为父州,并添加您的html..很好。你解决了我的问题。我没有父母的国家!我没有注意到点是嵌套视图。我已经添加了答案,请检查它谢谢!如果我启用HTML5模式会怎么样..我的url类似于http:localhost:1234/map。这也是关于服务器的。您必须确保,该服务器将能够处理该问题。在游戏中检查我的调整示例-感谢您的大力帮助!谢谢你的帮助@user23878很高兴帮助您,谢谢:)