Angular和JS的新手,所以我的行话可能会关闭。
在页面的某个部分中,我希望根据用户点击 而 更改网址路径,加载不同的模板。我知道如何将$ routeProvider与ng-view一起使用,但需要更改URL以加载相关模板。
我还想在此特定部分中添加一个反向链接,以便用户可以返回一个步骤。
有什么想法吗?我找不到任何类似于我的问题,但我可能会用不正确的术语进行搜索。非常感谢任何帮助或建议。
此致
答案 0 :(得分:3)
对于后退按钮,您必须使用过去的点击/链接保留历史数组,并在单击并单击返回时从中弹出。 "完成"解决方案看起来类似于:
的index.html
<html ng-app="app">
...
<div ng-controller="myController">
<button ng-click="setCurrentView('tem1')">Template 1</button>
<button ng-click="setCurrentView('tem2')">Template 2</button>
<button ng-click="setCurrentView('tem3')">Template 3</button>
<div ng-include="tem1.html" ng-show="currentView==tem1"></div>
<div ng-include="tem2.html" ng-show="currentView==tem2"></div>
<div ng-include="tem3.html" ng-show="currentView==tem3"></div>
<button ng-click="goBack()">Back</button>
</div>
...
</html>
app.js
angular.module('app',[]).controller('myController',['$scope',function($scope){
$scope.currentView='tem1';
var history=[];
$scope.setCurrentView=function(view){
history.push($scope.currentView);
$scope.currentView=view;
}
$scope.goBack=function(){
$scope.currentView=history.pop();
}
}]);
答案 1 :(得分:0)
我建议使用ng-include。这允许您从其他位置包含html代码块。然后,您可以使用ng-show / hide显示所需的片段或ng - 如果您希望在不需要时将其排除在dom之外