当页面发生变化时,Angular控制器将数据传递给其他控制器
Angular Controller pass data to other controller when page changes
嗨,我有一个Java脚本文件,控制所有的控制器。我也有两个html页面,当表单被提交时,我需要传递一个值给另一个控制器,当提交按钮被按下。
我能够记录值,如果我不直接到另一个页面,但一旦我直接到另一个页面,值变成'未定义'
这是两个角控制器
app.controller('createworkshopController', function($rootScope, $scope, $http) {
//get bunch of stuff
$scope.submitWorkshop = function() {
$http({method:'POST', data:$scope.result, url: 'url for post method'})
.success(function(data) {
$rootScope.ID = data.value;
console.log($rootScope.ID); //this log return the value
});
};
});
但是当我重定向到另一个页面时,该值变得未定义这是第二页
的控制器app.controller('showworkshopController', function($rootScope, $scope, $http) {
console.log($rootScope.ID); //this becomes undefined
$http.get('some_url?Id=' + $rootScope.ID)
.success(function(data) {
//do bunch of stuff
});
//do bunch of stuff
});
我的第一页HTML有一个像这样写的提交按钮
<a href="second-page.html" type="submit" class="btn btn-default" ng-click="submitWorkshop()">Submit</a>
你的问题是你的应用程序会在页面刷新/重定向时重新初始化。
你需要将其构建为一个单页应用程序,而不是进行重定向,或者在重定向之前将值存储在cookie或本地存储中,并且在加载第二页时检索。
基本上angular是用来构建应用程序的,而不是添加到标准的web表单中。相关文章:
- 在控制器和数据对象之间同步数据
- 使用Ajax请求rails控制器数据
- 如何将控制器数据加载到javascript数组中
- 如何在 angular js 中访问子控制器内的父控制器数据
- 按天在视图中应用控制器数据
- 跳跃运动控制器数据的清理
- AngularJS-通过服务从指令更新控制器数据(this.model语法)
- AngularJS通过服务自动更新控制器数据
- AJAX中的AngularJS控制器数据并不总是有效的
- 自定义指令控制器数据与工厂数据同步
- 来自路由提供程序的访问控制器数据
- Angularjs的服务和控制器数据不同步
- Ui-sref阻止访问控制器数据或视图
- 控制器数据没有传递给指令
- Angular ui-router多个嵌套和控制器数据
- 停止搜索解析控制器数据
- 使用AngularJS指令修改控制器数据
- 如何设置第一个控制器数据另一个控制器
- 控制器数据以角度设置另一页
- 如何在viewjavascript中访问playframework's控制器数据