2013-03-26 64 views
4

我正在学习angularJS,并且我有必须通过单击按钮加载新视图的情况,但保持url相同。我已经做了这样的jQuery是这样的: $(".container").fadeOut("slow").load('page.html').hide().fadeIn();在不更新url的情况下更新ng-view

这怎么可能?我不想更改/路由URL,因为其他视图没有先访问其他视图/页面就没有用处。转变是必要的。

我在想ng-include也。但有可能将它绑定到每个包含模板的特定控制器,如通过路由器(如下所示)?或者我应该做一些自定义指令?

 .when('/page', { 
     controller: Controller, 
     templateUrl: 'page.html' 
    }) 

谢谢!

+0

为什么你不能以编程方式使用'$ location.url(...)' – 2013-03-26 05:32:58

+0

以编程方式更改ng-view我试过了,但它将地址字段的路径.. – Ville 2013-03-26 05:36:42

回答

0

如果您不想更改路径,您唯一的选择是使用ng-include或自定义指令。最简单的事情就是使用ng-include。你可以添加一个ng控制器到你的控制器映射的包含HTML的根元素。

Ng-view仅适用于路由,因此需要改变路径才能使用ng-view。

相关问题