javascript - AngularJS UI-Router 的工作方式与 ng-router 的工作方式不同

标签 javascript angularjs angular-ui-router angular-routing

我正在尝试使用 Angular ui-router 库,它比 ng-router 具有更多功能。 但是,ng-router 在页面中可以工作,而 ui-router 则不能工作。

Angular 代码

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

    //$routeProvider.when(
    //"/", {
    //    template: '<h1>My Contacts</h1>'
    //});
   $locationProvider.html5Mode(false);

HTML代码非常简单 带有 ng-view 或 ui-view 的 div 标签。

大家可以思考一下有什么问题吗?

最佳答案

a working plunker

你至少需要像这样调整你的状态定义

.state('map', {
  abstract: true,
  template: '<div ui-view=""></div>',
})
.state('map.main', {
  url: '/',
  template: '<h1>My Contacts</h1>'
});

我们可以看到,有一个新的状态“map”,它是“map.main”的父级。如果我们想要状态“map.main”,这是必须。点(.)是UI-Router的信息,状态被构建为层次结构(父映射,子主映射)

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

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

这将作为我们父级的占位符。然后 child 将被注入(inject) parent 的 template: '<div ui-view=""></div>',

检查一下here

尝试在这里阅读更多内容:

关于javascript - AngularJS UI-Router 的工作方式与 ng-router 的工作方式不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29563857/

相关文章:

javascript - 为什么 jQuery 在其构造函数实现中这样做?

javascript - bootstrap collapse 只切换一次

angularjs - Angular UI Router嵌套状态在子状态下解析

angularjs - 在本地 tomcat 上运行 AngularJS 编码的基本应用程序无法正常工作

angularjs - 了解 Controller 和模块angularJs

javascript - jQuery scrollTop() 问题

javascript - 将文本框值与模型属性 mvc 进行比较

javascript - 将 ui-router 与 View 转换一起使用

javascript - AngularJS $filter ('date' ) 增加了结果的时间

javascript - Angularjs - 在选项卡/浏览器关闭时触发 Http Post