首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何动态创建ui-sref参数?

如何动态创建ui-sref参数?
EN

Stack Overflow用户
提问于 2014-09-25 09:35:09
回答 1查看 273关注 0票数 0

我的页面包含一个“下一步”链接,它可以指向某一页,也可以指向一篇文章:

代码语言:javascript
复制
<a ui-sref="page({slug: nextPage.slug}">Next</a>

代码语言:javascript
复制
<a ui-sref="article({slug: nextArticle.slug}">Next</a>

我可以通过将它转化为一个变量来概括它,但我发现很难将调用的函数泛化,并将它从article更改为page

代码语言:javascript
复制
<a ui-sref="__method__({slug: linkSlug}">Next</a>

如何传递应该调用的方法?

或者,如果我知道被调用的是什么,我可以将它作为数组方法传递(因为‘...Or’警报就可以做到这一点)。它被调用的对象是什么?如果我知道我可以:

代码语言:javascript
复制
<a ui-sref="callee[methodName]({slug: linkSlug})">Next</a>

NB我尝试过使用this[methodName]({slug: linkSlug}),但它不起作用,并产生了错误:Error: Could not resolve 'this['page']' from state 'page'

EN

回答 1

Stack Overflow用户

发布于 2014-09-25 10:06:46

因此,答案是,您可以将ui-sref参数作为字符串传递。

代码语言:javascript
复制
## in your controller
$scope.srefMethodAndArgs = 'page({slug: nextPage.slug})'

## in your view
<a ui-sref="{{ srefMethodAndArgs }}" ng-if="srefMethodAndArgs">Next</a>

不过,这件事有几件事要看

  1. 您需要将该字符串放入角求值括号中:{{ }}
  2. 如果方法和args无效,ui-sref将引发错误。因此,如果它们被动态加载到页面中,那么添加ng-if语句可以确保它们在不存在时不会引起问题。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26035179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档