sách gpt4 ai đã đi

angularjs - 避免 ng-view 在 $location.search 更新 GET 参数时获取 "wiped"(更新)

In lại 作者:行者123 更新时间:2023-12-02 08:39:25 33 4
mua khóa gpt4 Nike

所以我有一个使用传单库实例化的 map 对象。 map 实例在单独的模板中创建并以这种方式路由:-

var app = angular.module('myApp', ['ui', 'ngResource']);

app.config(function ($routeProvider) {

$routeProvider
.when('/', {
templateUrl: 'views/map.html',
controller: 'MapCtrl'
})
.otherwise({
redirectTo: '/'
});

});

当我想处理“搜索/过滤”并在搜索要加载到 map 实例的对象时控制 GET 参数时,问题就开始了。

这是我实现的一个简单的过滤器功能,它会根据用户点击的选定值(在下拉列表中)触发。

$scope.setFilter = function (fname, fvalue) {
console.log("Setting " + fname + " to " + fvalue);
var search_string = $location.search();
search_string[fname] = fvalue;
$location.search(search_string);
};

浏览器地址栏的 url 如我所料得到更新,但原始(传单) map 对象得到“更新”并从 View 中消失。这不是我想要的。

如何防止这种情况发生或控制此过程,以便仍然可以看到 map ?

1 Câu trả lời

这是因为更新 URL 参数会再次触发路由,这会导致 Controller 重新加载。有一个简单的修复方法。使用属性 reloadOnSearch 并将其设置为 false。这不会在 $location.search() 更改时重新加载 Controller

$routeProvider
.when('/', {
templateUrl: 'views/map.html',
controller: 'MapCtrl',
reloadOnSearch: false
})
.otherwise({
redirectTo: '/',
controller: 'MapCtrl',
reloadOnSearch: false
});

});

关于angularjs - 避免 ng-view 在 $location.search 更新 GET 参数时获取 "wiped"(更新),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17961022/

33 4 0
Bài viết được đề xuất: java - Matlab 构建器 ja
Bài viết được đề xuất: django - 具有可编辑链接元素的插件
Bài viết được đề xuất: java - 添加 orphanRemoval 属性后 Hibernate 异常
Bài viết được đề xuất: regex - htaccess 重写而不重定向
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com