我試圖讓我的頭部如何在加載頁面時將視圖加載到動態模板中。我的應用程序根據設備寬度有不同的模板。目前模板加載沒有問題,但當涉及到視圖,我不知道如何注入它。Angular - 無法加載視圖
<div data-ng-view></div> seems to be empty.
我創建了一個fiddle
再次感謝您的幫助。
我試圖讓我的頭部如何在加載頁面時將視圖加載到動態模板中。我的應用程序根據設備寬度有不同的模板。目前模板加載沒有問題,但當涉及到視圖,我不知道如何注入它。Angular - 無法加載視圖
<div data-ng-view></div> seems to be empty.
我創建了一個fiddle
再次感謝您的幫助。
這是評論中提到的問題。在ng-include
內使用ng-view
。我拿了你的小提琴,並添加了一個$route.reload()
,它的工作原理。我還必須在您的路由配置中將其重命名爲one.html
。
旁註:
你的模板URL應該是:
templateUrl: '/one.html',
這是templateUrl: 'views/steps/one.html',
<script type="text/ng-template" id="/one.html"></script>
012在一個更好的辦法
@Jimi UI路由器個
思想是非常友好的,當它自帶的「網址」同步邏輯。例如。在UI路由器中,您可以擁有一個抽象狀態,可以完成所有工作,並且在URL更改時擁有像root/one
root/two
這樣的子狀態。ui-router足夠智能,可以檢測到根在兩者中,因此它不會重新加載控制器。這允許你打開$ state.current.name =='root.one'。然後你可以有條件地包含或者只是擁有模板邏輯。它也不會刷新整個ng-view
它只會刷新連接到狀態的ui-view
。
ui-router
是一個非常強大的庫。除非你看看他們的文檔/教程,否則上面的大部分內容都沒有意義。
我認爲你需要在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;
});
要使用角度路由,您必須注入ngRoute模塊。嘗試安裝angular-route軟件包並將'ngRoute'添加到角度模塊依賴項。 – niba
那個小提琴適合我... – Nix
嗨@niba,你只需要使用ngRoute,如果你使用的版本1.2.xxx左右,我相信。 – Jimi