好吧,我正在嘗試創建一個簡單的plunkr,用於與使用ng-view的SPA加載時間相關的問題,似乎我無法設法創建有效的場景。ng-view按預期工作
我想要的是一個帶有ng-view和2個模板的SPA,因此每個模板都顯示一些基本數據並可以導航到另一個模板。
這裏是plunkr,這是溫泉
<!DOCTYPE html>
<html>
<head>
<script data-require="[email protected]" data-semver="1.4.8" src="https://code.angularjs.org/1.4.8/angular.js"></script>
<script data-require="[email protected]" data-semver="1.4.8" src="https://code.angularjs.org/1.4.8/angular-route.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body>
<div ng-app="app">
<div ng-view=""></div>
</div>
</body>
</html>
的代碼,這裏是我想象這不是工作的JS
angular
.module('app', ['ngRoute'])
.controller('ScreenController', ScreenController)
.config(['$routeProvider', routeProvider])
ScreenController.$inject = [ '$scope' ];
// initial navigation
function routeProvider($routeProvider) {
$routeProvider.
when('/screen1.html', {
templateUrl: './screen1.html',
controller: ScreenController
}).
when('/screen2.html', {
templateUrl: './screen2.html',
controller: ScreenController
}).
otherwise({
url: '/screen1.html',
templateUrl: './screen1.html',
controller: ScreenController
});
}
function ScreenController($scope) {
$scope.data1 = [];
$scope.data2 = [];
$scope.ready = false;
$scope.numElements = function(scr) {
var length = scr === '1' ? $scope.data1.length : $scope.data2.length;
return 'Data has ' + length + ' elements';
}
function init() {
console.info('ScreenController.init');
$scope.data1 = [
{ a:'a1', b: 'b1' },
{ a:'a2', b: 'b2' },
{ a:'a3', b: 'b3' },
{ a:'a4', b: 'b4' },
{ a:'a5', b: 'b5' },
{ a:'a6', b: 'b6' },
{ a:'a7', b: 'b7' },
{ a:'a8', b: 'b8' }
];
$scope.data2 = [
{ a:'a1', b: 'b1', c:'c1', d:'d1' },
{ a:'a2', b: 'b2', c:'c2', d:'d2' },
{ a:'a3', b: 'b3', c:'c3', d:'d3' },
{ a:'a4', b: 'b4', c:'c4', d:'d4' }
];
console.info('data1: ' + JSON.stringify($scope.data1));
console.info('data2: ' + JSON.stringify($scope.data2));
$scope.ready = true;
}
init();
}
。
第一次加載時,頁面似乎工作正常,因爲它顯示模板screen1.html和數據。但是一旦我開始點擊鏈接,它就不再起作用了,控制器不會被訪問,數據也不會顯示。任何想法爲什麼?
非常感謝!
這個例子有很多問題。請更具體一些,特別是您期望發生的事情,因爲這不是代碼評論網站。例子可能是,爲什麼列表不在第1頁上顯示,或者當您從第2頁返回時,爲什麼不是頁面1工作? –
你是對的@AndréLaszlo,對不起;我編輯了這篇文章,因爲我的問題與鏈接沒有像預期一樣工作。 – David
numElements()函數需要一些參數scr – shreyansh