Angular ui-router 每个state的过滤器应该怎么添加
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Angular ui-router 每个state的过滤器应该怎么添加相关的知识,希望对你有一定的参考价值。
参考技术A .state('hello', url: '/hello/name/id', templateUrl: 'views/name.html', ) conrtoller1:$state.go('hello',name:'小明',id:1) controller2:$stateParams.name和.id可以拿到controller1中传过来的值 参考技术B 推荐把filter写在另一个js文件中,然后在你的页面中引用。可以是下面这样:angular.module('myapp').filter('reverse', function()
return function(items)
if(items)
return items.slice().reverse();
else
return [];
).filter('slice', function ()
return function (inputArr, start, end)
var resultArr = [];
if (!angular.isArray(inputArr)) return inputArr;
if (start < 0) start = 0;
if (end > inputArr.length) end = inputArr.length;
for (var i = start; i < end; ++i)
resultArr.push(inputArr[i]);
return resultArr;
;
);本回答被提问者采纳
带有模型数据的 Ui-Router
【中文标题】带有模型数据的 Ui-Router【英文标题】:Ui-Router with model data 【发布时间】:2014-03-10 22:01:52 【问题描述】:使用 Angular、Ionic 和 UI-Router,我正在尝试更改状态并将数据传递给状态参数。使用 Angular 内置的 Ng-Route,这很容易,但只需以这种方式创建一个链接。
<a href="state2/detail.id">Brings me to state 2 with detail about this item</a>
但由于 Ionic 已切换到 UI-Router,这往往会破坏已创建的转换。我看过演示,在人员控制器中,有一个设置状态更改的点击处理程序:
$scope.switchState = function()
$state.go('abstract.main');
<a ng-click="switchState">Change States</a>
如果嵌套状态只是一个静态视图,则此方法有效。但我想知道的是如何正确更改状态并传递参数以获取数据。有什么想法吗?
【问题讨论】:
【参考方案1】:例如对于这种状态:
.state('test',
url: '/test/:id',
templateUrl: 'insertpathhere.html'
)
在您的控制器中,您可以像这样导航:
$state.go('test', id: 420 );
或者你可以在你的 html 中有这样的东西:
<a ui-sref="test(id:detail.id)">Click me</a>
【讨论】:
我尝试了 ui-sref 和控制器中的状态更改,但由于某种原因,id 没有传递。所以现在它显示为 State 2 也许你可以发布一个小提琴或类似的东西。您可以通过github.com/angular-ui/ui-router/wiki/…查看更多信息 这个问题实际上与我的链接设置方式无关,而与我的标记方式有关。我的一个观点没有以上是关于Angular ui-router 每个state的过滤器应该怎么添加的主要内容,如果未能解决你的问题,请参考以下文章
Angular ui-router 中 $state.transitionTo() 和 $state.go() 之间的区别
angular ui-router,html5模式总是刷新到/
使用 Angular ui-router 设置 URL 查询参数而不改变状态