簡體   English   中英

AngularJS動態頁面標題首先加載大括號

[英]AngularJS dynamic page title keeps loading curly brackets first

<title ng-show="pageName">{{ $root.pageName }} - Domain Name</title>

我正在嘗試動態更改頁面標題,當頁面加載標題preloads {{ $root.pageName }} - Domain Name而不是- Domain Name然后在渲染時加載$rootScope.pageName

有沒有辦法隱藏{{ $root.pageName }}在頁面加載時顯示,直到應用程序獲取變量?

你可以這樣做:

<title ng-bind="$root.title + ' - Your site'">Your site</title>

請注意,在這種情況下,標題位於$rootScope

編輯:剛剛測試過它看起來像破折號一直顯示,但這應該阻止它:

<title ng-bind="$root.title ? $root.title + ' - Your site' : 'Your site' }]}">Your site</title>

您可以使用ng-cloak指令隱藏原始(未編譯)表單數據。我認為它會對您有所幫助。

<title ng-cloak>{{ $root.pageName }} - Domain Name</title>

ngCloak指令用於防止瀏覽器在加載應用程序時以原始(未編譯)形式短暫顯示Angular html模板。

請參閱鏈接了解詳情。

在標題中使用ng-show是沒有意義的。 你可以這樣做:

<title ng-bind="'MyApp - ' + $root.title">MyApp - Welcome</title>

$routeProvider.when('/product', {templateUrl: '/partials/product.html',  controller: 'ProductCtrl', title: 'Discover our Product'}).when('/about', {templateUrl: '/partials/about.html', controller: 'AboutCtrl', title: 'About US'});

在你的run()上,添加一個$ rootScope。$ on:

$rootScope.$on("$routeChangeSuccess", function(currentRoute, previousRoute){
//Change page title, based on Route information
$rootScope.title = $route.current.title;});

閱讀完整資料來源: https//coderwall.com/p/vcfo4q

對的,這是可能的。

做這樣的事情

<title ng-show="pageName">
    <span ng-model="pageName"></span>
    <span> - Domain Name</span>
</title>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM