Название динамической страницы AngularJS позволяет сначала загружать фигурные скобки

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

Я пытаюсь изменить название страницы динамически, когда страница загружает предварительные загрузки заголовка {{ $root.pageName }} - Domain Name вместо - Domain Name, а затем загружает $rootScope.pageName при ее рендеринге.

Есть ли способ скрыть {{ $root.pageName }} от показа на странице загрузки до тех пор, пока приложение не подберет переменную?

Ответ 1

Вы можете сделать это следующим образом:

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

Обратите внимание, что в этом случае заголовок находится на $rootScope.

EDIT: только что протестировано, и похоже, что черточка продолжает показывать, однако это должно помешать этому:

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

Ответ 2

вы можете использовать директиву ng-cloak, чтобы скрыть необработанные (не скомпилированные) данные формы. Я думаю, это поможет вам.

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

Директива ngCloak используется для предотвращения короткого отображения шаблона Angular html браузером в его исходной (не скомпилированной) форме при загрузке вашего приложения.

см. эту ссылку для подробностей.

Ответ 3

Использование 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

Ответ 4

Да, это возможно.

Сделайте что-то вроде этого

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