Html 保持视图状态
我有一个应用程序,它基于一个简单的表单(带有选择选项)从数据库中过滤出对象,表单中的每一个更改我都会从服务器获得一个包含过滤对象的列表 当列表返回时,我用对象列表更新另一个视图,这样用户可以点击列表导航按钮,查看到目前为止过滤的内容 当用户返回到Filter nav选项时,该表单已丢失状态为,或丢失所选选项,并再次为空。我从不提交这样的表格 你如何保持表格的原有状态 这是我的表格:Html 保持视图状态,html,angularjs,angularjs-scope,Html,Angularjs,Angularjs Scope,我有一个应用程序,它基于一个简单的表单(带有选择选项)从数据库中过滤出对象,表单中的每一个更改我都会从服务器获得一个包含过滤对象的列表 当列表返回时,我用对象列表更新另一个视图,这样用户可以点击列表导航按钮,查看到目前为止过滤的内容 当用户返回到Filter nav选项时,该表单已丢失状态为,或丢失所选选项,并再次为空。我从不提交这样的表格 你如何保持表格的原有状态 这是我的表格: <form id="filter_form" onchange="angular.elemen
<form id="filter_form" onchange="angular.element(this).scope().fileNameChanged(this)">
<div ng-repeat="(key, value) in tags.tags.objects | groupBy:'category.name'">
<div class="item item-divider">
{{ key }}
</div>
<label class="item item-input item-select" ng-repeat="(item_key, item) in value | groupBy:'subcategory.name'">
<div class="input-label">
{{ item_key }}
</div>
<select>
<option selected></option>
<option ng-repeat="option in item">
{{ option.description }}
</option>
</select>
</label>
</div>
</form>
{{key}}
{{item_key}}
{{option.description}}
表单如下所示:
更新
<ion-view>
<ion-content class="padding">
<div class="list">
<form id="filter_form" onchange="angular.element(this).scope().fileNameChanged(this)" novalidate class="simple-form">
<div ng-repeat="(key, value) in tags.tags.objects | groupBy:'category.name'">
<div class="item item-divider">
{{ key }}
</div>
<label class="item item-input item-select" ng-repeat="(item_key, item) in value | groupBy:'subcategory.name'">
<div class="input-label">
{{ item_key }}
</div>
<select ng-model="tag" ng-options="option.description for option in item">
</label>
</div>
</form>
<a class="button button-block button-positive" href="/#/tab/filter/advanced">Advanced</a>
</div>
</ion-content>
</ion-view>
{{key}}
{{item_key}}
只需将标记放入一个值:
yourModule.value('tag', {data: null});
在控制器中:
yourModule.controller('formCtrl', function($scope, tag) {
$scope.tag = {data: null};
if(tag)
$scope.tag = tag;
else
formData = tag;
// rest of your code
});
在html中,将select的ng模型更改为tag.data:
<select ng-model="tag.data" ng-options="option.description for option in item">
看到这个(简化)那么你想记住所选的项目,并在加载包含表单的视图时再次设置它吗?是的,没错,我不认为需要再次设置它,那么呢?我不确定我将如何使用它,我很困惑,因为我的表单是在for循环中生成的。请查看我的更新代码。如果我理解正确,我可以将$scope.tag=[{“name”:“Fruit_Type”,“value”:“0”},{“name”:“Leaves_arrangement”,“value”:“,{“name”:“Leaves_Margin”,“value”:“?”,{“name”:“Leaves_Type”,“value”:“}填写表单,对吗?但是您选择的选项是nottag(或者在本例中是tag.data)。其思想是tag和$scope.tag引用相同的对象,这意味着如果一个对象得到更新,另一个也会得到更新。因此,当您选择一个选项时,它将在服务中结束,下次您用表单加载控制器时,它将返回到以前的状态。