Meteor Angular UI.Router 链接的语法要求是什么?

What are the syntax requirements on Meteor Angular UI.Router linking?

我正在关注 angular-meteor 教程:http://www.angular-meteor.com/tutorials/socially/angular1/routing-and-multiple-views

我了解大部分路由,但我看不出所有部分在哪里连接在一起。所以这是我的思考过程。

在路线中,我注意到了 :partyId。

.state('parties', {
        url: '/parties',
        template: '<parties-list></parties-list>'
      })
          .state('partyDetails', {
            url: '/parties/:partyId',
            template: '<party-details></party-details>'
          });

并且在 < parties-list > 中,我可以看到正在定义 "this.partyId = $stateParams.partyId"。

#1。 :partyId 和 $stateParams.partyId 有什么关系?

#2.该指令称为 "partyDetails" 而模板是 < party-details >...这是 Angular 给出的隐含名称吗?

angular.module('socially').directive('partyDetails', function () {
    return {
      restrict: 'E',
      templateUrl: 'party-details.html',
      controllerAs: 'partyDetails',
      controller: function ($scope, $stateParams) {
        this.partyId = $stateParams.partyId;
      }
    }
  });

下一步...在 party-list.html 页面内(不是 party-details.html),有一个 ui-sref link:

  <li ui-sref="partyDetails({ partyId: party._id })" ng-repeat="party in partiesList.parties">
    {{party.name}}
    <p>{{party.description}}</p>
    <button ng-click="partiesList.removeParty(party)">X</button>
  </li>

但是在 < party-list > 指令中没有提到任何名为 "partyDetails" 的变量或函数。

#3.What 是 ui-sref 引用?它与教程中进一步使用的“”相比如何。

#4。最后,关于 Meteor 或 Angular UI.Router 关于 implied/abstracted 之外的事情,我有什么需要知道的吗?


感谢您的宝贵时间! :)

  1. 一样。如果您在查询字符串中声明参数,如 :partyId,您将收到一个对象 stateParams,其键是这些参数,值是 url.
  2. 段中的比例字符串
  3. 这是 Angular Js 的编码对话。您可以查看更多示例。 https://docs.angularjs.org/guide/directive
  4. 如果你在任何地方使用正确都没有问题。但是如果你想改变 link 或 url 结构会发生什么?示例:href="/home" 出现超过 20 html 个页面。并且您想全部更改为“/homepage”。为什么???。使用路由器,您只需要更改 router.js 文件中的 url 状态。好吗?
  5. Angular-meteor 是帮助您使用 angular 开发应用程序的方法之一。所以所有相关的东西angular,你可以单独找。例如,您可以在 link https://angular-ui.github.io
  6. 中阅读有关 angular ui 路由器或 angularui 的所有包的信息