我正在与 bootstrap table 合作和ngStorage。我想做的是将搜索保存到本地存储并在刷新表后将其检索回来。 这是我的简单代码:
js
//Assigning $localstorage to $session.storage
$scope.storage = $localStorage;
$scope.saveSearch = function () {
$scope.child = prompt('Set your filter.');
$('#table').on('search.bs.table', function (e, text){
$scope.storage = text
});
};
$scope.loadSearch = function() {
$scope.data = $scope.storage;
};
html
<div id="toolbar">
<div style="display: -webkit-box">
<button id="new" class="btn btn-default">New</button>
<button id="edit" class="btn btn-default">Edit</button>
<button id="remove" class="btn btn-default">Delete</button>
<button class="btn btn-default " ng-click="saveSearch()">Save Filter</button>
<button class="btn btn-default " ng-click = "loadSearch()">Load Filter</button>
<button id="button" class="btn-primary btn">Load Table</button>
<pre>{{data}}</pre></div>
</div>
table id="table"
class="table-striped"
data-toggle="table"
data-toolbar="#toolbar"
data-search="true"
data-show-columns="true"
data-show-export="true"
data-filter-control="true"
data-events="operateEvents"
data-formatter="operateFormatter"
data-response-handler="responseHandler"
>
</table>
通过这段代码,当我单击“加载过滤器”按钮时,我将返回变量。您可以在“加载表”按钮的右侧看到它。
但是当我尝试将此变量推送到搜索时。
$scope.loadSearch = function() {
$('#table').on('search.bs.table', function (e, text){
text.push($scope.storage);
console.log($scope.storage)
});
$scope.data = $scope.storage;
};
我的功能根本不起作用。如果有人能解释我的错误在哪里,我将不胜感激?
My plunker, where you can see the problem
With this plunker ,您可以将localstorage中的值放入搜索bs表中,但它没有触发。
最佳答案
将文本保存到本地存储
$scope.storage.text = text;
然后检索文本
$scope.data = $scope.storage.text
关于javascript - 从 $localstorage 检索变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36943631/