我的Angular 1.3应用程序中有一个状态:
.state('department.filetransfer', {
url: '/filetransfer/:deptID',
templateUrl: function($stateParams, $log) {
return 'modules/department/templates/department.filetransfer.'+$stateParams.deptID+'.html';
},
controller: 'DeptFiletransferCtrl as ftc',
data: {
pageTitle: 'filetransfer',
access: 'public'
}
});
然后在我的应用程序中,我有一个链接,如
ui-sref="department.filetransfer.accounting"
但是我收到了控制台错误
Error: Could not resolve 'department.filetransfer.accounting' from state 'department'
我错过了什么?
答案 0 :(得分:0)
如何传递param
的方法是通过对象 {paramName1:value1, paramName2: value2}
:
ui-sref="department.filetransfer({deptID:accounting})"
上述示例适用于 accounting
作为$scope
中的变量。
如果我们需要传递字符串值,我们应该这样做:
ui-sref="department.filetransfer({deptID:'accounting'})"
如此处所述
ui-sref
将链接(
<a>
标记)绑定到状态的指令。如果状态具有关联的URL,则该指令将自动生成&amp;通过$state.href()
方法更新href属性。单击该链接将触发带有可选参数的状态转换。浏览器本身也会处理中键点击,右键单击以及按住Ctrl键单击链接。
您也可以在ui-sref中使用相对状态路径,就像传递给
$state.go()
的相对路径一样。您只需要知道路径是相对于链接所在的状态,换句话说是加载包含链接的模板的状态。您可以使用
$state.go()
属性指定要传递给ui-sref-opts
的选项。选项仅限于location
,inherit
和reload
。