यहां शीर्षक परिवर्तन करने का एक अलग तरीका है। शायद फैक्ट्री फ़ंक्शन के रूप में स्केलेबल नहीं है (जो असीमित पृष्ठों को समझ सकता है), लेकिन मेरे लिए यह समझना आसान था:
अपने 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" पर वापस चला गया और नेव-इन और मेरे भाग के लिए एनजी-व्यू का उपयोग करते हुए nav.html जोड़ा:
<body class="ng-cloak" ng-controller="MainCtrl">
<div ng-include="'partials/nav.html'"></div>
<div>
<div ng-view></div>
</div>
ध्यान दें कि एनजी-क्लोक? इसका इस जवाब से कोई लेना-देना नहीं है लेकिन यह पृष्ठ को तब तक छिपाता है जब तक कि यह लोड नहीं हो जाता है, एक अच्छा स्पर्श :) जानें कैसे यहां: 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"});
});
}());
यदि आप मॉड्यूल के अंत की ओर देखते हैं, तो आप देखेंगे कि मेरे पास एक critter- विवरण पृष्ठ है: id। यह एक आंशिक है जो क्रिस्पी क्रिटर्स पेज से उपयोग किया जाता है। [कॉर्नी, मुझे पता है - शायद यह एक ऐसी साइट है जो सभी प्रकार के चिकन नगेट्स का जश्न मनाती है;) वैसे भी, आप शीर्षक को अपडेट कर सकते हैं जब कोई उपयोगकर्ता किसी भी लिंक पर क्लिक करता है, तो मेरे मुख्य क्रिस्पी क्रिटर्स पेज में जो क्रेटर-डिटेल पेज पर जाता है। यह वह जगह है जहाँ $ root.title अपडेट जाएगा, जैसे आपने ऊपर दिए गए nav.html में देखा था:
<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 संस्करण दिखाता है। आप देख सकते हैं कि यह उतना अलग नहीं है।
बाद में: आप यह जानते हैं लेकिन यह किसी और के लिए यहाँ है; index.html में सबसे नीचे, किसी को मॉड्यूल के साथ app.js शामिल करना चाहिए:
<!-- APP -->
<script type="text/javascript" src="js/app.js"></script>
</body>
</html>