如何使用 $ionicHistory.viewhistory 获取前一个 url?
How can I get the previous url using $ionicHistory.viewhistory?
我想跟踪用户之前所在的页面而不是当前页面。
我试图使用 $ionicHistory.viewHistory()
但我可以设法得到它。我是 angularjs 和 $ionic 的新手,所以我想这是一个新手问题。
这整件事的目的是使用 Piwik 对单页 Web 应用程序进行漏斗分析,但由于它没有合适的漏斗插件(感谢 Piwik),我将不得不自己实现它。因此,如果您对这个主题有任何建议,很高兴收到您的来信。
所以你要找的是$ionicHistory.backView() 或$ionicHistory.backTitle()。如果您使用 angular 状态和路由和视图。
所以在控制器中你会调用:
$scope.lastView = $ionicHistory.backView()
这给出了您所在的最后一个视图。因此,如果您从 A 转到 B,它将为您提供 A。
如果您想要最后一个视图的标题,请在控制器中调用此方法:
$scope.lastViewTitle = $ionicHistory.backTitle()
这会为您提供一个字符串,即您为上一个视图提供的任何标题。如果您在离开此视图后调用 backTitle(),这将是 return "My Page"。
<ion-view view-title="My Page">
<ion-content>
Hello!
</ion-content>
</ion-view>
您可以在此处阅读更多内容:
http://ionicframework.com/docs/api/service/$ionicHistory/
如果您不想要视图而是状态,您应该能够在广播的 $stateChangeSuccess 上获取之前的状态。
$rootScope.$on('$stateChangeSuccess', function (ev, to, toParams, from, fromParams) {
//assign the "from" parameter to something
});
var history = $ionicHistory.backView();//returns an object with data about the previous screen. console.log(history) to see the entire data.
var previous_statename = history.stateName;//compare this
var previous_url = history.url;
var previous_title = history.title;
使用:
$ionicHistory.backView().stateName
将具有以下值:
app.tab.contacts
我想跟踪用户之前所在的页面而不是当前页面。
我试图使用 $ionicHistory.viewHistory()
但我可以设法得到它。我是 angularjs 和 $ionic 的新手,所以我想这是一个新手问题。
这整件事的目的是使用 Piwik 对单页 Web 应用程序进行漏斗分析,但由于它没有合适的漏斗插件(感谢 Piwik),我将不得不自己实现它。因此,如果您对这个主题有任何建议,很高兴收到您的来信。
所以你要找的是$ionicHistory.backView() 或$ionicHistory.backTitle()。如果您使用 angular 状态和路由和视图。
所以在控制器中你会调用:
$scope.lastView = $ionicHistory.backView()
这给出了您所在的最后一个视图。因此,如果您从 A 转到 B,它将为您提供 A。
如果您想要最后一个视图的标题,请在控制器中调用此方法:
$scope.lastViewTitle = $ionicHistory.backTitle()
这会为您提供一个字符串,即您为上一个视图提供的任何标题。如果您在离开此视图后调用 backTitle(),这将是 return "My Page"。
<ion-view view-title="My Page">
<ion-content>
Hello!
</ion-content>
</ion-view>
您可以在此处阅读更多内容: http://ionicframework.com/docs/api/service/$ionicHistory/
如果您不想要视图而是状态,您应该能够在广播的 $stateChangeSuccess 上获取之前的状态。
$rootScope.$on('$stateChangeSuccess', function (ev, to, toParams, from, fromParams) {
//assign the "from" parameter to something
});
var history = $ionicHistory.backView();//returns an object with data about the previous screen. console.log(history) to see the entire data.
var previous_statename = history.stateName;//compare this
var previous_url = history.url;
var previous_title = history.title;
使用:
$ionicHistory.backView().stateName
将具有以下值:
app.tab.contacts