タイトルを変更する別の方法は次のとおりです。おそらくファクトリ関数(おそらく無制限のページを処理できる)ほどスケーラブルではありませんが、私には理解しやすかったです:
私のindex.htmlでは、次のように始めました。
<!DOCTYPE html>
<html ng-app="app">
<head>
<title ng-bind-template="{{title}}">Generic Title That You'll Never See</title>
次に、「nav.html」という部分を作成しました。
<div ng-init="$root.title = 'Welcome'">
<ul class="unstyled">
<li><a href="#/login" ng-click="$root.title = 'Login'">Login</a></li>
<li><a href="#/home" ng-click="$root.title = 'Home'">Home</a></li>
<li><a href="#/admin" ng-click="$root.title = 'Admin'">Admin</a></li>
<li><a href="#/critters" ng-click="$root.title = 'Crispy'">Critters</a></li>
</ul>
</div>
次に、「index.html」に戻り、パーシャルにng-includeとng-viewを使用してnav.htmlを追加しました。
<body class="ng-cloak" ng-controller="MainCtrl">
<div ng-include="'partials/nav.html'"></div>
<div>
<div ng-view></div>
</div>
ng-cloakに注意してください。この回答とは何の関係もありませんが、読み込みが完了するまでページを非表示にします。いい感じです:)ここで方法を学びましょう:Angularjs-ng-cloak/ng-show要素が点滅します
これが基本モジュールです。「app.js」というファイルに入れました。
(function () {
'use strict';
var app = angular.module("app", ["ngResource"]);
app.config(function ($routeProvider) {
// configure routes
$routeProvider.when("/", {
templateUrl: "partials/home.html",
controller:"MainCtrl"
})
.when("/home", {
templateUrl: "partials/home.html",
controller:"MainCtrl"
})
.when("/login", {
templateUrl:"partials/login.html",
controller:"LoginCtrl"
})
.when("/admin", {
templateUrl:"partials/admin.html",
controller:"AdminCtrl"
})
.when("/critters", {
templateUrl:"partials/critters.html",
controller:"CritterCtrl"
})
.when("/critters/:id", {
templateUrl:"partials/critter-detail.html",
controller:"CritterDetailCtrl"
})
.otherwise({redirectTo:"/home"});
});
}());
モジュールの終わりを見ると、:idに基づいた生き物の詳細ページがあることがわかります。これは、CrispyCrittersページから使用される部分的なものです。[コーニー、私は知っています-多分それはあらゆる種類のチキンナゲットを祝うサイトです;)とにかく、ユーザーが任意のリンクをクリックしたときにタイトルを更新できるので、私のメインのクリスピークリッターページでクリッター詳細ページにつながります、上記のnav.htmlで見たように、ここで$root.titleの更新が行われます。
<a href="#/critters/1" ng-click="$root.title = 'Critter 1'">Critter 1</a>
<a href="#/critters/2" ng-click="$root.title = 'Critter 2'">Critter 2</a>
<a href="#/critters/3" ng-click="$root.title = 'Critter 3'">Critter 3</a>
風が強いので申し訳ありませんが、私はそれを稼働させるのに十分な詳細を提供する投稿を好みます。AngularJSドキュメントのサンプルページは古く、0.9バージョンのng-bind-templateが表示されていることに注意してください。それほど違いはないことがわかります。
後付け:あなたはこれを知っていますが、それは他の誰かのためにここにあります。index.htmlの下部に、モジュールにapp.jsを含める必要があります。
<!-- APP -->
<script type="text/javascript" src="js/app.js"></script>
</body>
</html>