0

我试图让我的头部如何在加载页面时将视图加载到动态模板中。我的应用程序根据设备宽度有不同的模板。目前模板加载没有问题,但当涉及到视图,我不知道如何注入它。Angular - 无法加载视图

<div data-ng-view></div> seems to be empty. 

我创建了一个fiddle

再次感谢您的帮助。

+0

要使用角度路由,您必须注入ngRoute模块。尝试安装angular-route软件包并将'ngRoute'添加到角度模块依赖项。 – niba

+0

那个小提琴适合我... – Nix

+1

嗨@niba,你只需要使用ngRoute,如果你使用的版本1.2.xxx左右,我相信。 – Jimi

回答

0

这是评论中提到的问题。在ng-include内使用ng-view。我拿了你的小提琴,并添加了一个$route.reload(),它的工作原理。我还必须在您的路由配置中将其重命名为one.html

http://jsfiddle.net/Lb4em/


旁注:

你的模板URL应该是:

templateUrl: '/one.html', 

这是templateUrl: 'views/steps/one.html',


<script type="text/ng-template" id="/one.html"></script> 
012在一个更好的办法

@Jimi UI路由器个

思想是非常友好的,当它自带的“网址”同步逻辑。例如。在UI路由器中,您可以拥有一个抽象状态,可以完成所有工作,并且在URL更改时拥有像root/oneroot/two这样的子状态。ui-router足够智能,可以检测到根在两者中,因此它不会重新加载控制器。这允许你打开$ state.current.name =='root.one'。然后你可以有条件地包含或者只是拥有模板逻辑。它也不会刷新整个ng-view它只会刷新连接到状态的ui-view

ui-router是一个非常强大的库。除非你看看他们的文档/教程,否则上面的大部分内容都没有意义。

+0

我有点困惑?模板被加载,模板包含手风琴,然后视图被加载到手风琴的行中。如果我更改模板网址,我只能看到该视图。我想要模板>视图。 – Jimi

+0

@Jimi我更新了小提琴,至少它出现了。我想你会遇到问题,你已经设置好了。 – Nix

+0

非常感谢,非常感谢。你会建议我对代码做出什么改变? – Jimi

0

我认为你需要在app.js中做一些配置。请参考下面的代码,我已经完成了一些url映射,我们必须指定controller和templateUrl。

var vrmUI = angular.module('vrmUI', []); 
vrmUI.config(function($routeProvider) { 

$routeProvider 
     .when('/', { 
      controller: 'DashboardController', 
      templateUrl: 'views/dashboard.html' 
     }) 
     .when('/change-password', { 
      controller: 'ChangePasswordController', 
      templateUrl: 'views/change-password.html' 
     }) 
     .when('/network-config', { 
      controller: 'NetworkConfigController', 
      templateUrl: 'views/network-config.html' 
     }) 
     .when('/dashboard', { 
      controller: 'DashboardController', 
      templateUrl: 'views/dashboard.html' 
     }); 

return vrmUI; 
});