如何使用 state go 方法在 Angular 状态路由器中的网址 url 中形成查询字符串

2024-06-28

我有一个产品列表页面,有产品列表,当单击特定产品时,调用该函数并在函数 state.go 中。

不在动态模式下工作:

$state.go('home.product.detail', { 'productID': "redminote4", 'brand': 'x', "store":"amazon" });

.state('home.product.detail', {
    url: '/products/:?productID?brand?store',
    views: {
        '@': {
            templateUrl: baseUrl + 'products/products',
            controller: 'productsController'
        }
    },
    data: {
        displayName: '',
        displayImg: 'Images/productsHeaderIcon.png'
    }, resolve: {

        param2: function (LoginHome) {

            return LoginHome.getHomeService1();

        }
    }

**

Output  weburl need to be:
productID=redminote4&brand=amazon&store=amazon:

另一件事是价值进入状态参数: 例如)stateparams.productId=redminote 但 url 未构造 **

工作正常:

当我在参数中设置值时,我得到了上面提到的outputurl:

**function call:**

$state.go('home.product.detail', { 
'productID': "redminote4", 'brand': 'x', "store":"amazon" });

App:

 .state('home.product.detail', {
  url: '/products/:?productID?brand?store',
params:{
'productID': "redminote4", 
'brand': 'x', 
"store":"amazon" }

},
        views: {
            '@': {
                templateUrl: baseUrl + 'products/products',
                controller: 'productsController'
            }
        },
        data: {
            displayName: '',
            displayImg: 'Images/productsHeaderIcon.png'
        }, resolve: {

            param2: function (LoginHome) {

                return LoginHome.getHomeService1();

            }
        }

为什么url不是动态形成的?


您的 url 中定义的参数方式不正确。无论如何,一种选择是使用生命周期方法并返回目标

.state('home.product.detail', {
    url: '/products/?productID&?brand&?store',
    params:{
        'productID': {
            value: "redminote4", 
            squash: true
        }
        'brand': {
            value: "x", 
            squash: true
        }, 
        'store': {
            value: "amazon", 
            squash: true
        }
},
data: {
    displayName: '',
    displayImg: 'Images/productsHeaderIcon.png'
},
onEnter: ['$transition$', '$state$', 'LoginHome', function(transition, state, LoginHome){

    if(!transition.options().resolvedParams){
       return transition.router.stateService.target(
                 transition.to().name, 
                 {
                    productID: 'redminote4', 
                    brand: 'x', 
                    store:'amazon'
                 },
                 { 
                    resolvedParams: true 
                 }
           );
        }
    }]

这会中断状态更改并将其替换为新目标,该目标现在填充了您的参数,并且在选项对象中有一个自定义键,我在本示例中使用该自定义键来不再重定向状态更改。

您可以了解有关生命周期的更多信息here https://ui-router.github.io/docs/latest/classes/transition.transition-1.html#to和我们返回的 TargetStatehere https://ui-router.github.io/docs/latest/classes/state.targetstate.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 state go 方法在 Angular 状态路由器中的网址 url 中形成查询字符串 的相关文章

  • 使用 ReactJS 旋转图像预览

    我正在尝试使用 ReactJS 旋转图像的预览 因此 我首先允许渲染预览的上传功能 然后在用户点击上传之前 我希望他们可以选择根据自己的喜好旋转图像 这是我用来预览图像的 class ImageUpload extends React Co
  • Jquery - 如何替换div中的一个单词?

    我有一个从其他位置复制的 div 我需要更改其中的一个单词 这是 HTML div class dealer addy 8726 N Royal Ln br Irving TX 75063 br email protected cdn cg
  • 提供文件数据时触发“drop”事件

    Question 我如何在提供文件时触发drop场的事件 其中我在加载时无权访问 Details 有一个页面 其中有一个字段 上面附加了drop掉落时处理图像的侦听器 我希望能够通过以下方式使用这个过程pasting一个图像 我知道如何从粘
  • 如果用户禁用了 javascript,如何回退到完全不同的索引页面?

    我有一个大型 动态生成的单页网站 该网站严重依赖 javascript 我想为没有 javascript 的人提供后备 每个版本必须有不同的 php 代码 所以基本上我需要一个完全不同的索引页面 我不想将所有内容都包装在 javascrip
  • 系统js语法错误,IE11

    我有一个 Angular 2 应用程序可以在 Firefox 和 Chrome 中工作 但在 IE 中却没有那么多工作 根据我的堆栈跟踪 我的 System js 设置似乎存在问题 这是我在网络控制台中看到的错误描述 Error Syste
  • 如何告诉 Sonar 使用我的可靠报告来获取单元测试结果

    我们有一个 Jenkins 作业 其中包含一堆 javascript 文件 我们通过 grunt 构建项目 并在构建结束时运行 JSCover 来运行单元测试并收集代码覆盖率 这一切都有效 我们得到了一个不错的 LCOV 文件 并且在 ta
  • 在 NodeJs 中使用 Jest 模拟 Http Post 请求

    我有一个使用本机 https request 使用 Azure Function 内的 Node Js 构建的外部 POST API 一切正常 现在我正在尝试构建单元测试用例 并对模拟 Request 方法感到震惊 回调响应具有 on 功能
  • JavaScript 回调的效率

    我只是想证实我的一个怀疑 我偶然发现了一篇文章 建议按以下方式使用 Socket io var app require express createServer var io require socket io listen app app
  • 停止倒数计时器 Javascript onClick

    给出以下代码 myButton02 click function myButton02 hide counter animate width toggle var count 65 var counter setInterval timer
  • JavaScript - babel-preset-env 不为 IE11 转换箭头函数

    我很难尝试配置 Babel 来转译 IE11 可以理解的代码 特别是箭头函数 跑步npx webpack mode development使用我的配置不会转换我的代码中的箭头函数 在eval 在生成的代码中的语句中 我可以看到所有实例都未转
  • 闭包和异步 Node.js 函数

    All 尝试了解 Node js 上下文中的闭包 异步调用 我有以下代码 timer setInterval pollOID 1000 function pollOID for channel in channels session get
  • 按周将对象数组拆分为组

    我有一个包含这样的数据的对象数组 date 01 01 2017 00 00 00 dataField1 dataField2 date 01 02 2017 00 00 00 dataField1 dataField2 date 01 1
  • up() 和 down() 与 Ext.getCmp()

    我很困惑我需要在 up down 和 Ext getCmp ID 之间使用哪一个作为 grep 对象 对我来说 定义对象的 ID 并通过 Ext getCmp ID 检索对象更容易 而且代码看起来更干净 例如 console log thi
  • 带搜索框的 D3 图表

    我在 D3 中创建了一个图表 其中节点显示特定个人创建文档的时间 该图表还显示了一个搜索框 该搜索框根据搜索框输入是否与与该文档关联的单词匹配而将节点变成红色 这些单词列在数据集的第 5 列中 请参阅下面的数据集 我的问题 一旦将搜索输入到
  • 如何使用 $.ajax 发送 JSON 而不是查询字符串?

    有人可以简单地解释一下如何让 jQuery 发送实际的 JSON 而不是查询字符串吗 ajax url url dataType json I was pretty sure this would do the trick data dat
  • CORS:为什么我的浏览器不发送 OPTIONS 预检请求?

    从我读到的内容来看CORS https en wikipedia org wiki Cross origin resource sharing 我理解它应该按如下方式工作 客户端的脚本尝试获取资源从服务器不同的起源 浏览器拦截这个请求并首先
  • Firefox 本地主机上的 Twilio 屏幕共享?

    目前 Firefox 中本地主机上的屏幕共享会引发以下错误 The request is not allowed by the user agent or the platform in the current context 这是我的代码
  • 如何捕获 google 地图的无效 API 密钥

    我有这个代码 如果密钥无效 则会弹出警报 但我想在这种情况下执行一些操作 但我不知道如何连接它 有任何想法吗 Google 不提供检查 Google 地图 API 密钥的外部方法 因此 您无法使用例如查询某些服务 此代码有效吗abcde12
  • jQuery:array[i].children() 不是函数

    以下代码的灵感来自http ignorethecode net blog 2010 04 20 footnotes http ignorethecode net blog 2010 04 20 footnotes 当您将光标移到脚注符号上时
  • 将画布下载为 PNG 图像[重复]

    这个问题在这里已经有答案了 当我尝试将画布下载为 PNG 图像时 浏览器会在新页面中打开该图像 但不下载它 我的下载代码 btnScaricaEtichetta click function console log Download loc

随机推荐

  • 可以编译带有参数包的c++17 lambda继承的编译器

    我读到了关于使用函数声明 http en cppreference com w cpp language using declaration我想编译最后一个例子 这是 include
  • 如何在 Android API 上使用 setImageTintList() < 21

    imgView setImageTintList getResources getColorStateList R color my clr selector 它说 调用需要 API 级别 21 如何让它在 API 21 以下的 Andro
  • 我应该如何清理 KnockoutJS ViewModel?

    我有一个单页应用程序 用户可以在其中翻阅项目列表 每个项目又都有一个项目列表 可观察数组使用通过 AJAX 请求从服务器检索的新项目进行更新 这一切都很好 不幸的是 在几页之后 执行的操作数量 以及 FireFox 和 IE8 等浏览器中使
  • Eloquent 使用远程 MySQL DB 花费太长时间

    我正在开发一个 Web Laravel 和 iOS 应用程序 它们都从我也在使用 Laravel 开发的 REST API 中使用 API 从 AWS RDS 实例托管的 MySQL 数据库进行查询 当我在本地主机上设置API和应用程序 并
  • C# 中的 ImmutableArray 是什么

    I see this https nuget org packages Microsoft Bcl Immutable 这个包提供了线程安全且有保证的集合 永远不会更改其内容 也称为不可变集合 但我不明白到底什么是 ImmutableArr
  • git fetch 失败“refs/remotes/origin/pr/34 同时跟踪两者”

    我是 git 新手 我被困在 git fetch 上 我在 TFS 和 SVN 上有更多经验 所以欢迎任何类比 所以我在 Github 上找到了一个我分叉的项目 源项目 Xpose 有色状态栏 https github com Mohamm
  • 将 Y 或 N 转换为 bool C#

    只是为了整洁起见 我想知道是否可以将 Y 或 N 转换为布尔值 像这样的东西 bool theanswer Convert ToBoolean input 长版 bool theanswer false switch input case
  • 为什么流式聚合总是延迟到两批数据?

    我使用 Spark 2 3 0 我的问题是 每当我在输入目录中添加第三批数据时 第一批数据就会被处理并打印到控制台 为什么 val spark SparkSession builder appName micro1 enableHiveSu
  • 如何从请求中放入自定义范围/上下文(JobScoped - 自定义 CDI 范围)特定实例以使其可注入?

    简而言之 我想将剩余请求中的配置类的特定实例放入自定义范围中 主要问题是自定义范围 来自 JBeret 的 JobScopedhttps jberet gitbooks io jberet user guide content custom
  • 使用 VBA 在 Excel 工作表中添加验证列表时出现问题

    我有一个 Excel 工作表 其中加载了动态数据结果集 加载所有数据后 我需要在每行末尾添加 是 否 下拉列表 我必须动态地执行此操作 因为我事先不知道结果集的大小 以下代码抛出 应用程序定义或对象定义的错误 Dim firstRow As
  • vsprintf 和 va_list 的平台不一致

    背景 我目前正在尝试 扩展 标准 C 格式以支持处理特定结构 类似于 Objective C 扩展 C 格式以允许支持带有 序列的 NSString 我正在努力解决的一个问题是 vsprintf 在 OS X 和 Linux 上的行为似乎有
  • 模块中的属性

    有没有办法在 TypeScript 中定义属性module 这些都不能编译 module My doesnt work get Value number return 42 doesn t work either get function
  • Kinect 用户检测

    我正在开发一个应用程序 当 kinect 传感器检测到一个人可以在其上工作的骨架时 如果其他人靠近现有用户 它会检测到第二个人 我想限制用户 kinect 传感器首先检测到它 如果其他用户出现 则不应检测到另一个用户 提前致谢 另请参阅 J
  • 从 pandas 数据框中删除 NaN 值并重塑表[重复]

    这个问题在这里已经有答案了 给定一个包含列的数据框NaNs 如何转换数据框以删除所有NaN从列中 示例数据框 import pandas as pd import numpy as np dataframe from list of lis
  • 计算网络中的周期

    最好的方法是什么 或者是否有任何方法可以实现对网络中的 3 个和 4 个周期进行计数 3 个周期等于从一个模式网络计算的三个节点 三角形 的连接组 4 个周期等于由两个模式网络计算的四个节点 方块 的连接组 如果我有这样的网络 onemod
  • 是否可以上传文本文件以HTML/JS输入?

    我在 HTML 表单中有一些输入框 需要在表单加载时更新这些输入框 并且需要从文本文件上传这些值 这里也提出了类似的问题 将文本文件上传到 Html JS 中的输入 https stackoverflow com questions 983
  • 查询列表项并使用 SharePoint Web 服务与对象模型

    我的公司正在考虑编写一个自定义应用程序 该应用程序需要跨多个网站集执行许多列表项查询 它需要运行 WSS 3 0 如果它也能在 WSS 2 0 上运行 那就太好了 它不会是为 MOSS SPS 设计的 但如果它能在这些平台上运行的话 那就太
  • 何时使用 f:viewAction / preRenderView 与 PostConstruct?

    什么时候应该使用f viewAction or preRenderView初始化页面数据的事件与使用 PostConstruct注解 是否根据支持 bean 的范围类型使用其中一种或另一种的基本原理 例如如果支持 bean 是 Reques
  • 如何在Center中设置WebView内容?

    我正在 WebView 中加载一些 HTML 内容 但它总是出现在我的 WebView 的左上角 我也尝试使用样式表 在样式表中我添加了与中心相关的标签 但它没有位于中心 样式表中的其他标签工作正常 如何设置WebView中的内容垂直和水平
  • 如何使用 state go 方法在 Angular 状态路由器中的网址 url 中形成查询字符串

    我有一个产品列表页面 有产品列表 当单击特定产品时 调用该函数并在函数 state go 中 不在动态模式下工作 state go home product detail productID redminote4 brand x store