asp.net - 在两个 aspx 网页之间更新 $Scope 变量
问题描述
我有一个搜索页面,一旦用户单击搜索按钮,它就会调用一个 angualrjs 函数,我需要在其中更新一些 $scope 变量并重定向到另一个页面。
这是我在控制器之间共享对象的服务
var app = angular.module('MyApp', ['angular.filter', 'googlechart']);
app.factory('sharedService', function () {
var testObj = {
name:'User Name 1',
age: 25
};
var searchParameter = function (newObj) {
testObj = newObj;
};
var getParameter = function () {
return testObj;
};
return {
searchParameter: searchParameter,
getParameter: getParameter
};
});
这是控制器 1:SearchController
app.controller('SearchController', function ($scope, $parse, $filter, $location, $window, sharedService) {
$scope.searchParameter = function (searchParameter) {
var testObj = {
name: 'UserName 2',
age: 35
};
sharedService.searchParameter(testObj);
$window.location.href = 'http://localhost:8080/UI/SearchResult.aspx';
}
});
这是我的控制器 2:ResultController
app.controller('ResultController', function ($scope, $parse, $filter, sharedService) {
$scope.getParameter = function () {
$scope.testParam = sharedService.getParameter();
}
});
testObj 是一个模型。
它正在重定向到结果页面,但 testObj 值没有更新为 UserName 2。
如何在控制器 2 中获取更新值?
解决方案
这不起作用,因为在您的服务中,该对象被声明为 var。因此,即使您从外部进行更新,它也不会返回该值。除了服务之外,如果你的页面像父子控制器,你可以在控制器之间共享对象。如果服务解决方案不起作用,请告诉我,我可以共享解决方案以在控制器之间共享对象。
该变量应绑定到服务。如下所示:
var app = angular.module('MyApp', ['angular.filter', 'googlechart']);
app.factory('sharedService', function () {
this.testObj = {
name:'User Name 1',
age: 25
};
var searchParameter = function (newObj) {
this.testObj = newObj;
};
var getParameter = function () {
return this.testObj;
};
return {
searchParameter: searchParameter,
getParameter: getParameter
};
});
推荐阅读
- html - saving part of JSON in a function invoked in the html file
- c++ - 解决方案在两个日期之间的天数内不起作用
- javascript - node-rsa:编码太长,使用以太坊账户的公钥
- android - 如何从 android studio kotlin 中的服务器下载任何文件
- java - Api call in android and receive this error using Retrofit 2 :Response{protocol=h2, code=200, message=, url=https://api.com/video/list-video.php}
- java - PLS-00201:必须声明标识符“DBMS_SODA_ADMIN.DESCRIBE_COLLECTION”
- python - 如何处理非常大的浮点数
- python - How to create a unstacked bar plot with dates in X axis?
- python - Python:强制执行抽象方法
- c# - Validating a three field date for an Xamarin application that targets an Android device