Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如何动态创建ui sref参数?_Angularjs_Angular Ui Router - Fatal编程技术网

Angularjs 如何动态创建ui sref参数?

Angularjs 如何动态创建ui sref参数?,angularjs,angular-ui-router,Angularjs,Angular Ui Router,“我的页面”包含下一个链接,该链接可能指向页面或文章: <a ui-sref="page({slug: nextPage.slug}">Next</a> 如何传入应该调用的方法 …或者,如果我知道它被调用的对象是什么,我可以将其作为数组方法传递,因为“window”alert正好可以这样做。调用的对象是什么?如果我知道我可以使用: <a ui-sref="callee[methodName]({slug: linkSlug})">Next</a>

“我的页面”包含下一个链接,该链接可能指向页面或文章:

<a ui-sref="page({slug: nextPage.slug}">Next</a>
如何传入应该调用的方法

…或者,如果我知道它被调用的对象是什么,我可以将其作为数组方法传递,因为“window”alert正好可以这样做。调用的对象是什么?如果我知道我可以使用:

<a ui-sref="callee[methodName]({slug: linkSlug})">Next</a>

注意:我尝试过使用这个[methodName]{slug:linkSlug},但它不起作用并产生错误:错误:无法从状态“page”解析“this['page']”,因此答案是可以将ui sref参数作为字符串传递

## in your controller
$scope.srefMethodAndArgs = 'page({slug: nextPage.slug})'

## in your view
<a ui-sref="{{ srefMethodAndArgs }}" ng-if="srefMethodAndArgs">Next</a>
然而,关于这一点,有几件事需要注意

您需要将此字符串放在角度计算括号内:{{} 如果方法和参数无效,ui sref将抛出错误。因此,如果它们被动态加载到页面中,那么添加ng if语句可以确保它们不存在时不会引起问题。
<a ui-sref="callee[methodName]({slug: linkSlug})">Next</a>
## in your controller
$scope.srefMethodAndArgs = 'page({slug: nextPage.slug})'

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