Angularjs 多页上的引导程序在另一页上停止
我们想在我们的SPA上使用bootstrap tour脚本() 由于我们希望浏览多个页面(可能的话),我将巡更放入Angularjs 多页上的引导程序在另一页上停止,angularjs,bootstrap-tour,Angularjs,Bootstrap Tour,我们想在我们的SPA上使用bootstrap tour脚本() 由于我们希望浏览多个页面(可能的话),我将巡更放入rootScope,并定义了一些函数来启动巡更。我的想法是,rootScope总是可以在应用程序中使用,所以我们总是可以访问巡演 显示了第一步,但当我想继续下一步时,在重定向之后,巡更将停止。所以用户在下一页,但没有浏览 因为我们在巡更中使用角度平移,所以不能将巡更放置在单独的文件中以加载到角度之外 这是放置在rootScope中的一次巡演的代码(我们有4次不同的巡演)。为了便于阅读
rootScope
,并定义了一些函数来启动巡更。我的想法是,rootScope
总是可以在应用程序中使用,所以我们总是可以访问巡演
显示了第一步,但当我想继续下一步时,在重定向之后,巡更将停止。所以用户在下一页,但没有浏览
因为我们在巡更中使用角度平移,所以不能将巡更放置在单独的文件中以加载到角度之外
这是放置在rootScope
中的一次巡演的代码(我们有4次不同的巡演)。为了便于阅读,我删除了一些步骤
因此,在这段代码中,巡更在步骤3之后停止,但它从步骤4向前移动到路径
var generalTour = new Tour({
debug: true,
name: "GeneralTour",
storage: window.localStorage,
steps: [
{ //1
element: '#generalTourHome',
title: $filter('translate')('START_WITH_PRISMANOTE'),
content: $filter('translate')('GENERALTOUR_WELCOME'),
path: '/retailer/home'
},
{ //2
element: '#generalTourMyShopMenu',
title: $filter('translate')('MORE_SHOPS'),
content: $filter('translate')('HERE_YOU_WILL_FIND_YOUR_SHOPS'),
path: '/retailer/home'
},
{ //3
element: '#generalTourMyShopIcon',
title: $filter('translate')('SHOP_DATA'),
content: $filter('translate')('CLICK_ON_SHOP_ICON'),
path: '/retailer/home'
},
{ //4
element: '#generalTourFillInInformation',
title: $filter('translate')('FILL_IN_DATA'),
content: $filter('translate')('FILL_IN_YOUR_DATA'),
path: '/retailer/shop'
},
{ //5
element: '#generalTourBrands',
title: $filter('translate')('SHOP_BRANDS'),
content: $filter('translate')('INDICATE_WHICH_BRANDS_YOU_ARE_USING'),
path: '/retailer/shop'
},
]
});
$rootScope.startGeneralTour = function(){
generalTour.init();
generalTour.start(true);
generalTour.restart();
}
看起来您正在两个页面上开始并重新启动巡演。 您应该在
/retailer/shop
页面上设置一个条件,如果巡演需要继续,请不要重新启动:
$rootScope.startGeneralTour = function(){
generalTour.init();
if( some_function__is_page( '/retailer/shop' ) && !generalTour.ended() ){
generalTour.start(true);
} else {
generalTour.restart();
}
}
如果用户实际上没有结束巡更,但例如他刷新了页面,您还想继续在
/retailer/home
页面上巡更,则可以跳过检查您是否在该条件下的/retailer/shop
页面上。看起来您正在启动并重新启动两个页面上的巡更。
您应该在/retailer/shop
页面上设置一个条件,如果巡演需要继续,请不要重新启动:
$rootScope.startGeneralTour = function(){
generalTour.init();
if( some_function__is_page( '/retailer/shop' ) && !generalTour.ended() ){
generalTour.start(true);
} else {
generalTour.restart();
}
}
如果用户实际上没有结束巡更,但例如刷新了页面,您还想继续在/retailer/home
页面上巡更,则可以跳过检查您是否在该条件中的/retailer/shop
页面上