当前位置: 首页 > 面试题库 >

在ui-router中动态构建的ui-sref属性

邵君植
2023-03-14
问题内容

我是新手,尤其是ui路由器。

这里是一个链接:

<a ui-sref="/topic/{{topic.id}}">SomeText</a>

该链接是动态填充的。

因此,当我尝试像这样从我的配置访问该状态时:

 .state('topics/:topicId',{
        url:"",
        templateUrl: "",
        controller: ""
    })

我收到此错误消息:

错误:无法从状态“主题”解析“ / topics / myTopic”

在上面:myTopic是一个变量名。


问题答案:

你快到了。仅参数必须是URL定义的一部分,而不是状态名称:

.state('topics',{
    url: '/{id:[0-9]{1,8}}', // we can also add some constraint, like int id only
    templateUrl: "",
    controller: ""
 })

以及如何调用它 currentItem.id将在其中动态注入作为ng-repeat的一部分)

<a ui-sref="topics({id:currentItem.id})">SomeText</a>

因为ui-sref表示:ui-sref='stateName({param: value, param: value})。更多信息在这里:

  • ui路由器,URL参数
  • ui-sref


 类似资料:
  • 问题内容: 我的ui路由器状态提供程序中具有以下状态: 这遵循具有默认子状态的最佳做法,如ui-router文档中此处所述。 但是,当我现在在文档中的某处引用父级的链接时,例如,我总是收到一条错误消息,说我无法转换为抽象状态。当我在地址栏中手动输入URL并按Enter时,一切正常。 相关Plunker:http ://plnkr.co/edit/d3Z0tOwC3VCTPqGiB0df?p=pre

  • 问题内容: 有没有之间的功能差异和? 在使用和在控制器被使用。 在HTML中,我将使用: 而在函数中,我将使用类似: 那么,是还是在之后添加一些内容?假设当前状态为。 问题答案: 和之间没有 功能上的 区别。参阅文件 激活状态 激活状态有三种主要方法: 致电。高级便利方法。 单击包含指令的链接。 导航到与状态关联的状态。 因此,这些操作最终都将执行相同的操作,正如我们在指令代码中所看到的: 它确实

  • 我是JavaFx新手,尝试用三个StackPane构建下面的屏幕,可以根据窗口大小动态地增加和缩小宽度和高度。我尝试了不同的方法,但没能做到这一点。我还尝试使用锚烷约束。这是我试图实现的图像和相应的FXML。以下是我在这些窗格之间寻找的约束条件 左窗格具有最大宽度(300px)和最小150 左右之间的距离(2)堆栈窗格应保持不变 右顶部和底部堆栈窗格之间的距离应保持不变 左顶部堆栈窗格的最大高度为

  • 问题内容: 我正在使用ui-router 0.2.8。我想根据设备宽度加载模板。我可以毫无问题地获得设备的宽度,将其设置在范围等,但我可以弄清楚如何将其绑定到$ stateParams。我在另一个控制器中有scope变量,可以访问该状态的控制器,但状态本身不可用。我试过了templateProvider,但这只是返回一个字符串。为了使它起作用,我还能尝试什么? 问题答案: 您可以在事件中访问状态参

  • 问题内容: 我需要将两个参数传递并接收到要转换为使用ui-router的状态。 例如使用下面的链接将状态转换为with 和参数: 控制器中的接收和值: 我得到了在控制器中。 有人可以帮助我了解如何完成它吗? 编辑: 问题答案: 我创建了一个示例来说明如何操作。更新的定义将是: 这将是控制器: 我们可以看到,状态状态现在的url定义为: 这意味着url中的参数应为 这两个链接将正确地将参数传递给控制

  • 问题内容: 我正在尝试测试一些视图,这些视图用于链接到应用程序中的其他状态。在我的测试中,我触发了对此元素的点击,如下所示: 如果状态切换为,该如何测试?在我的控制器中像这样使用时,这很容易: 但是当我使用时,我不知道要监视什么对象。如何验证我的应用程序处于正确状态? 问题答案: 我自己找到的。在查看了角度ui路由器源代码后,我在指令中找到了以下行: 当元素收到点击时,会包装在回调中。因此,在测试