我是AngularJS的新手,我有一个下拉列表和一个链接。单击链接时,Anagularjs将路由不同的视图(例如,显示图表和表格)。
然后当我点击浏览器的后退按钮时,下拉列表将显示默认值,而不是我之前选择的值。
单击浏览器的后退按钮时,单击链接时是否可以让AngularJS记住我的下拉列表的选定值?
<select ng-model="selectedManagerFilter" ng-init="selectedManagerFilter= selectedManagerFilter || '*'"
ng-options="item.Code as item.Name for item in ManagerFilters" id="lstManagementGroup" name="lstManagementGroup"></select>
答案 0 :(得分:2)
当您退出页面并在返回时使用默认值重新创建范围时,您的范围将被清除。
您有两个选择:
使用服务来保存此类信息(如下拉菜单中的selectedItem)和其他有用的信息。下拉列表中选择的选项应绑定到服务对象:
call_bash = subprocess.Popen(['/space/jazz/1/users/gwarner/test.sh'],stdout=subprocess.PIPE)
output = call_bash.communicate()[0]
并且在你的控制器中你应该将范围变量绑定到它(不要忘记在控制器的依赖项中要求 UsefulService ):
subprocess.call()
然后使用angular.module('shared').factory('UsefulService', function() {
var UsefulService = {};
UsefulService.myPageSettings = {
currentDropDownItem: 1, //this is what you need
otherSetting: "blah"
};
return UsefulService;
});
最推荐的解决方案是选项#1。