Название динамической страницы 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>