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

AngularJS UI-Router中的ui-sref和$ state.go之间的区别

壤驷喜
2023-03-14
问题内容

有没有之间的功能差异ui-sref$state.go()

ui-sref在使用<a>...</a>$state.go('someState')在控制器被使用。

在HTML中,我将使用:

<a ui-sref="currentState.state1">Link</a>

而在函数中,我将使用类似:

if(someCondition) {
    $state.go('currentState.state1');
}

那么,是还是在之后添加一些内容$state.go()?假设当前状态为currentState


问题答案:

和之间没有 功能上的 区别。参阅文件ui-sref``$state.go

激活状态

激活状态有三种主要方法

  • 致电$state.go()。高级便利方法。
  • 单击包含ui-sref指令的链接。
  • 导航到url与状态关联的状态。

因此,这些操作最终都将执行相同的操作,正如我们在ui-sref指令代码中所看到的:

...
element.bind("click", function(e) {
    var button = e.which || e.button;
    if ( !(button > 1 || e.ctrlKey || e.metaKey || e.shiftKey || element.attr('target')) ) {

      var transition = $timeout(function() {
        // HERE we call $state.go inside of ui-sref
        $state.go(ref.state, params, options);
      });

它确实调用 $state.go()

并在这里讨论: ui-sref:

ui-sref='stateName'
-导航至状态,无参数。’stateName’可以是任何有效的绝对或相对状态,遵循与以下相同的语法规则$state.go()



 类似资料:
  • 问题内容: 在AngularJS中,我看到有时使用有时使用。谁能告诉我它们的区别以及何时应使用另一种? 问题答案: 您是指AngularUI路由器吗?如果是这样,则Wiki 指定差异: $ state.go(至[,toParams] [,选项]) 返回表示过渡状态的 Promise 。 过渡到新状态的便捷方法。内部调用,但会自动将选项设置为。这样,您可以轻松地使用绝对路径或相对路径,并仅指定要更新

  • 本文向大家介绍angular-ui-router 使用$ state.go在状态之间转换,包括了angular-ui-router 使用$ state.go在状态之间转换的使用技巧和注意事项,需要的朋友参考一下 示例 $state.go 是速记法 $state.transitionTo $state.go(toState [,toParams] [,options]) 此方法自动将您的选项设置为{

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

  • 问题内容: 我是新手,尤其是ui路由器。 这里是一个链接: 该链接是动态填充的。 因此,当我尝试像这样从我的配置访问该状态时: 我收到此错误消息: 错误:无法从状态“主题”解析“ / topics / myTopic” 在上面:是一个变量名。 问题答案: 你快到了。仅参数必须是URL定义的一部分,而不是状态名称: 以及如何调用它 (将在其中动态注入作为ng-repeat的一部分) 因为表示:。更多

  • 本文向大家介绍Bootstrap和JQuery UI之间的区别,包括了Bootstrap和JQuery UI之间的区别的使用技巧和注意事项,需要的朋友参考一下 bootstrap和jquery都用于Web开发,主要用于前端开发。由于引导程序和jquery的代码主要在客户端执行,因此还负责UI的样式和外观。 通常,每个应用程序都是在两个平台上开发的,即后端和前端,其中后端是由高级语言(例如JAVA,

  • 问题内容: 我有以下代码的视图: 目标是无需使用href即可过渡到新状态。不幸的是,上面的代码不会触发。 我还尝试为此视图在控制器中包括$ state: 但是仍然没有。transictionTo也似乎不起作用。 有人对如何进行这项工作有任何想法吗? 编辑:我只能通过分配使其工作: 在我的控制器内。这看起来很丑。如果没有将$ state分配给作用域,是否真的没有其他方法可以访问$ state? 问题