在Angular UI路由器中发送多个参数而不指定url
Sending multiple params in the Angular UI Router without specifying a url?
我有一个具有两个状态的应用程序。State1没有模态对话框,而State2有一个自定义模态对话框。如果我在State2模态窗口打开时单击浏览器返回按钮,它将带我回到之前的状态State1。我不希望这样(因为如果多次打开和关闭模态,浏览器将返回所有这些)。移除UI路由器中的URL解决了这个问题,但我还有另一个问题。
我需要通过状态发送多个参数,但显然它只允许我发送一个。我的状态如下:
.state('state2',{
params: {id: NaN, type: "empty"},
views:{
'modalContent':{
templateUrl: 'templates/modal-content-super-region.html',
controller: 'ModalStatesCtrl'
}
}
})
和下面的指令:
<a ui-sref="state2({id: 1, type: 'someStringHere'})">The link</a>
当我控制日志$stateParams
时,我得到以下内容:
{ id: 1, type: "empty"}
所以指令正确地传入了id,但根本没有设置类型,传入的类型仍然保持默认值。有什么我能做的吗?没有URL(我肯定不能有),我只能传递一个状态参数吗?
有一个工作柱塞。我不得不说,看起来,你的例子,你的期望是有效的。可能只是代码中的一些错别字…
所以,不变的state2和state1(与url看到一些生成的href)
// just to have state with standard <a> generated - url is needed
.state('state1', {
// url is supporting href being generated
url: "/state1",
params: {
id: NaN,
type: "empty"
},
views: {
'modalContent': {
templateUrl: 'templates/modal-content-super-region.html',
controller: 'ModalStatesCtrl'
}
}
})
// unchanged state def
.state('state2', {
params: {
id: NaN,
type: "empty"
},
views: {
'modalContent': {
templateUrl: 'templates/modal-content-super-region.html',
controller: 'ModalStatesCtrl'
}
}
});
,这是它们被调用和传递参数的方式:
<a ui-sref="state1({id: 1, type: 'someStringHere'})">
<a ui-sref="state2({id: 22, type: 'someOtherHere'})">
点击这里
相关文章:
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 传递包含'%的参数'在URL中
- 如何在router.get()方法中传递url作为参数
- javascript中url中的Regex参数
- 如何在reactrouterv2.+中从URL获取参数
- 使用express.具有多个url和可选参数的Router()
- 如何在所有ajax调用中向URL添加参数
- 通过Javascript将HTML中的电话号码与URL参数进行交换
- 如何使用Javascript从URL参数中自动填充文本字段
- XMLHttpRequest.open()AJAX中的参数url
- 如何将Google Analytics配置为将URL参数作为单个页面进行跟踪
- 使用应用程序状态js和视图在angular js url上传递两个参数
- 在url参数javascript中存储键值对列表
- backbone.js-映射标准url参数-使用多个参数
- 模版启动错误-类型错误(“参数”url'必须是字符串,而不是“+类型的url”)
- UI 路由器参数 URL 不起作用,只是重定向到 /
- 在Select2中传递参数url
- 使用jQuery/Javascript(querystring)获取查询字符串参数url值
- Javascript -重定向参数URL只有一次
- 替换url参数-url被破坏