激动地发现与AngularJS捆绑在一起的Foundation for Apps,我以此为借口开始学习AngularJS。我尝试重新创建旧版Web应用程序的各个部分,以了解使用此新框架的可能性。我遇到了一个障碍:

视图之一是搜索表单。在“提交”上,它应该滑开,在“结果”视图中,应该滑入。现在,使用<a ui-sref="">切换这些视图(如在导航菜单中)可以正常工作。
但是,如何在formSubmit上触发此操作-并让SearchField InputValue作为参数传递?

按照http://foundation.zurb.com/apps/docs/#!/angular中给出的示例,我创建了一个控制器,该控制器附加到了这样的表单上。

<form ng-controller="StaffSearchController" ng-submit="doSearch()" >

angular.module('application').controller('StaffSearchController', StaffSearchController);
StaffSearchController.$inject = ['$scope', '$stateParams', '$state', '$controller'];
function StaffSearchController($scope, $stateParams, $state, $controller) {
    angular.extend(this, $controller('DefaultController', {$scope: $scope, $stateParams: $stateParams, $state: $state }));
    console.info("StaffSearchController");
    $scope.searchTerm = "search me";
    $scope.doSearch = function(){
      console.log("doSearch");
    };
}


doSearch()被调用。但是从那里切换到下一个视图怎么办?

最佳答案

您可以简单地使用$state.go('stateName');从$ stateProvider找到正确的状态,并使用特定的控制器模板及其.state中的所有指定设置在该页面上重定向您

对于带有参数的状态,可以使用$state.go('stateName', {id: 1});


  注意:在执行$state.go之前,请不要忘记添加$state依赖项
  在控制器上


有关更多信息,请参考Doc

07-25 23:09
查看更多