var app = angular.module("myApp", ['ngRoute', 'ngSanitize']);
app.controller('landingPageController', function($scope) {
$scope.countries = [{
name: "India",
Id: "1"
}, {
name: "Nepal",
Id: '2'
}];
});
我在两个差异上有相同的过滤条件。有角度的页面,所以我使用了2个路由的单个控制器和两个差异。过滤器部分的HTML。我需要如果我在主页上选择任何国家/地区,相同的选择应该反映到关于页面(而不是再次选择相同的国家/地区)。我的意思是它应该是跨越2页而不是个人的常见过滤器。
这是网址:http://plnkr.co/edit/VMYYBDy4doWCzUa4d6Uq?p=preview
需要帮助来解决它...
答案 0 :(得分:1)
您可以使用以下方法在不同控制器(或同一控制器的不同实例)之间共享数据。 services
。所以在你的scotchApp
(听起来很好吃,顺便说一下!)你可能会有像
scotchApp.service('countryService', function() {
var current;
return {
// set selected country
set: function(country) {
current = country;
console.log('set', current);
},
// get selected country
get: function() {
console.log('get', current);
return current;
}
};
});
您的mainController
为
scotchApp.controller('mainController', function($scope, countryService) {
$scope.countries = [{
name: 'India',
id: 1 // note the property casing here
},{
name: 'Nepal',
id: 2
}];
// get selected country
$scope.selectedCountry = countryService.get();
// set selected country
$scope.set = function(country) {
countryService.set(country);
};
});
路线的template
<div>
<select ng-options="country.name for country in countries track by country.id"
ng-model="selectedCountry"
ng-change="set(selectedCountry)">
<option value="">Select country</option>
</select>
</div>
应该这样做。