【发布时间】:2013-01-02 13:20:25
【问题描述】:
我有一个带有几条路线的 Angular 应用程序。其中一个是我在viewContentLoaded 上激活的jquery 插件(bxslider)。 如果我走另一条路线然后回来,我在路线视图上所做的所有 jQuery 操作都会被清除,我需要重新做一遍吗?
有没有办法回到上一个状态的上一个路由(查询插件已经呈现?
angTestApp.controller('MyRouteCtrl', function($scope, $timeout) {
$scope.readyFunction = function(e) {
$timeout(function(){
$('.slider').bxSlider();
});
//
}
$scope.$on('$viewContentLoaded', $scope.readyFunction);
});
每次调用路由 MyRoute 时,滑块都会重新渲染,如果我之前已经在该 URL 中并且我目前仍在应用程序中(但在不同的路由中),有什么方法可以获得渲染的版本? (毕竟它是一个哈希标签视图,浏览器不应该在应用程序内刷新)
【问题讨论】:
-
向我们展示相关代码。
-
在上面添加了代码示例
-
这样做的方法是将状态保存在控制器中,并像往常一样使用控制器构建页面。
-
嗨,Gav,你是如何解决 bxSlider 的问题的?我有同样的问题,我被卡住了,因为我对图像使用了 ng-repeat,并且滑块成功地应用于包装器和元素,但不适用于图像。你能告诉我你的代码吗?
-
我的代码散落在各处 - 创建一个 jsfiddle,我会检查一下。