我試圖改變我的網頁標題中的角使用應用的用戶界面路由器 我發現這個演示,其做工精細https://plnkr.co/edit/NpzQsxYGofswWQUBGthR?p=preview 改變頁面標題不行
,但是當我試圖嘗試相同的演示不起作用我需要找到問題,使我的演示不起作用https://plnkr.co/edit/pqumJL?p=preview
why demo not change page title although it's work in demo
我試圖改變我的網頁標題中的角使用應用的用戶界面路由器 我發現這個演示,其做工精細https://plnkr.co/edit/NpzQsxYGofswWQUBGthR?p=preview 改變頁面標題不行
,但是當我試圖嘗試相同的演示不起作用我需要找到問題,使我的演示不起作用https://plnkr.co/edit/pqumJL?p=preview
why demo not change page title although it's work in demo
試試這個:
(function() {
'use strict';
angular
.module('app', ['ui.router'])
.config(config)
config.$inject = ['$stateProvider', '$urlRouterProvider', '$urlMatcherFactoryProvider'];
function config($stateProvider, $urlRouterProvider, $urlMatcherFactoryProvider) {
$urlRouterProvider.otherwise('/home');
$urlMatcherFactoryProvider.caseInsensitive(true);
$stateProvider
.state('home', {
url: '/home',
templateUrl: 'home.view.html',
data: {
pageTitle: 'Home'
}
})
.state('about', {
url: '/about',
templateUrl: 'about.view.html',
data: {
pageTitle: 'About'
}
})
}
})();
<!DOCTYPE html>
<html ng-app="app">
<head>
<meta charset="utf-8" />
<script src="https://code.angularjs.org/1.3.3/angular.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.11/angular-ui-router.min.js"></script>
<script src="app.js"></script>
<script src="app-directives/title-directive.js"></script>
<title>{{title}}</title>
</head>
<body>
<div class="panel" ui-view></div>
<ul class="nav navbar-nav">
<li>
<a ui-sref="home" ui-sref-active="activeState">Home</a>
</li>
<li>
<a ui-sref="about">About</a>
</li>
</ul>
</body>
</html>
在plunkr你就必須通過
<script src="title-directive.js"></script>
我可以爲您提供一個更好的方式來做到這一點,以取代
<script src="app-directives/title-directive.js"></script>
:
link: function (scope, element, attrs) {
var defaultTitle = element.text();
if (element[0].tagName === 'TITLE') {
var listener = function (event, toState) {
var title;
if (toState.data && toState.data.pageTitle) {
if(toState.data.placeholder && toState.data.placeholder.title)
title = toState.data.pageTitle, toState.data.placeholder.title;
else
title = toState.data.pageTitle;
} else if (defaultTitle) {
title = defaultTitle;
} else {
title = 'No title';
}
$timeout(function() {
element.text(title);
}, 0, false);
};
$rootScope.$on('$stateChangeSuccess', listener);
}
}
由於問題解決 有是使用在線版本時ui路由器腳本中的錯誤,並且版本不兼容 問題解決了
謝謝全部