Apps Foundation,如何更改表单提交的视图?
Foundation for Apps, how to change view on form submit?
很高兴发现 Foundation for Apps 与 AngularJS 捆绑在一起,我以此为借口开始学习 AngularJS。我尝试重新创建旧 Web 应用程序的某些部分,以查看使用这个新框架可以实现的功能。我遇到了障碍:
其中一个视图是搜索表单。在 "submit" 上它应该滑开并且 "Result" 视图应该滑入。现在,使用 <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});
Note: Before doing $state.go
don't forget to add $state
dependency
on controller
有关详细信息,请参阅 Doc
很高兴发现 Foundation for Apps 与 AngularJS 捆绑在一起,我以此为借口开始学习 AngularJS。我尝试重新创建旧 Web 应用程序的某些部分,以查看使用这个新框架可以实现的功能。我遇到了障碍:
其中一个视图是搜索表单。在 "submit" 上它应该滑开并且 "Result" 视图应该滑入。现在,使用 <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});
Note: Before doing
$state.go
don't forget to add$state
dependency on controller
有关详细信息,请参阅 Doc