使用AngularJS手动更改历史记录

时间:2013-05-30 16:05:42

标签: angularjs browser-history

所以这有点棘手。当我去这条路线时


$routeProvider.when('/:slide_id', 
      {
        templateUrl: 'views/create.html',
        controller: 'CreateCtrl'
      })
      .otherwise({
        redirectTo: '/'
      });

我的create.html视图加载,我的CreateCtrl正确粘合到它。问题是create.html基本上是空的,在CreateCtrl中,我正在做的是插入指令,如此


var chart = angular.element(document.createElement(type));
angular.element(document.getElementById("dropContainer")).append(chart);
$compile( chart )( $scope );

我这样做是因为用户可以使用此工具动态创建图表。因此,当视图加载时,没有图表,并且当用户与应用程序图表交互时,会插入。问题是,如果我转到url / 2或/ 3,它将再次加载create.html视图和CreateCtrl。如果用户在/ 1路径中创建了一些图表,那么这些图表显然不会显示,因为它会加载一个空的create.html视图
问题是我如何推动用户创建的图表的历史记录,以便当用户返回/ 1图表加载时?
希望我自己解释了自己,如果不是,请评论并告诉我 谢谢!

1 个答案:

答案 0 :(得分:0)

好的,所以在这里回答我自己的评论我基本上放弃并改变了策略。我没有试图依靠历史插入元素进入视图,而是将它们放在一个单独的对象中,并在需要时重新创建它们。如果有人找到解决方案,请发表评论。