6

我正在使用 angular-ui-router。提交表单时,我想激活ui-routing,它是用Angularjsui-sref= "url"中没有action元素定义的,所以我正在使用ng-submit元素。

我如何/在哪里定义ui-sref网址?

通常具有以下form代码。但是下面的“url”不是通过 ui-router 路由的。

form(name="LNquestionForm", action="/url")

我想做类似的事情

form(name="LNquestionForm", ng-submit='ui-sref = "url" ')

这样路由就通过 myAngularApp.js 进行,如下所示:-

var myApp = angular.module('myApp', ['ui.router']);

myApp.config(function($stateProvider, $urlRouterProvider) {

  // Now set up the states
  $stateProvider
    .state('/url', {
      url: "/url",
       templateUrl: "partials/someLink" }

    })
4

1 回答 1

10

不太确定我是否正确回答了您的问题,但据我了解,您希望提交表单并在没有任何服务器调用的情况下重定向到 $statePorivider 的给定状态。如果是这种情况,您可以轻松地执行以下操作:

<form ng-submit="onFormSubmit" name="myForm">
  <input type="text" required/>
  ....
</form>

在与您的表单关联的控制器中,您应该执行以下操作:

$scope.onFormSubmit = function () {
  if(myForm.$valid) {
    $state.href('/url' [, optional parameters if needed]);
  }
}

请注意 onFormSubmit 函数的工作,您需要在控制器中注入状态服务或在应用程序控制器中引用它。

另请注意,我在示例中添加了一些表单验证。

于 2013-09-18T07:38:35.387 回答