Meteor Angular UI.Router 链接的语法要求是啥?
Posted
技术标签:
【中文标题】Meteor Angular UI.Router 链接的语法要求是啥?【英文标题】:What are the syntax requirements on Meteor Angular UI.Router linking?Meteor Angular UI.Router 链接的语法要求是什么? 【发布时间】:2016-05-06 17:05:28 【问题描述】:我正在关注 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>'
);
在 party-list> 中,我可以看到“this.partyId = $stateParams.partyId”被定义。 #1。 :partyId 和 $stateParams.partyId 有什么关系? #2。该指令称为“partyDetails”,而模板是
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链接:
<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. 什么是 ui-sref 引用?它与本教程中进一步使用的“”相比如何。 #4。最后,关于 Meteor 或 Angular UI.Router 对于隐含/抽象的事物,我有什么需要了解的吗?
感谢您的宝贵时间! :)
【问题讨论】:
【参考方案1】:-
一样。如果您在查询字符串中声明参数,例如 :partyId,您将收到一个对象 stateParams,其中键是这些参数,值是您的 url 段中的比例字符串。
这是 Angular Js 的编码对话。您可以查看更多示例。
https://docs.angularjs.org/guide/directive
如果你在任何地方使用正确的,都没有问题。但是,如果您想更改链接或 url 结构会发生什么?示例:href="/home" 出现 20 多个 html 页面。并且您想全部更改为“/homepage”。为什么???。使用路由器,您只需要更改 router.js 文件中的 url 状态。好吗?
Angular-meteor 是帮助您使用 Angular 构建应用程序的方法之一。所以所有与角度相关的东西,你都可以单独找到。示例您可以在此链接https://angular-ui.github.io 中阅读有关 angular ui 路由器或所有 angularui 包的信息
【讨论】:
内容丰富!谢谢,但您能否澄清#3,具体来说,party._id 作为partyDetails 的参数做了什么? 是的。明显地。您在您的状态下声明第二段是partyId,所以ui-router会知道party._id是partyId以上是关于Meteor Angular UI.Router 链接的语法要求是啥?的主要内容,如果未能解决你的问题,请参考以下文章
ngRoute (angular-route.js) 和 ui-router (angular-ui-router.js) 模块有什么不同呢?
ngRoute (angular-route.js) 和 ui-router (angular-ui-router.js) 模块有什么不同呢?
调整 ui-view 元素的高度[Angular.js Angular UI Router]