2015-10-19 2 views
-1

Отмечено: Сайт, на котором я говорю, это SPA и использование angularjs.Как обновить название SPA в angularjs?

Скажем, у меня есть музыкальный сайт. Сейчас есть n номеров альбомов.

  • Хинди
  • Английского
  • Bhajans

Мое требование, если пользователь нажимает на хинди альбомах, название страницы должно быть установлено на хинди, если он нажмет на английском названии должно быть обновлено до английского и так далее.

Плюс, как я могу изменить ог тегов, а также каждые альбомы имеет кнопки социальные акций, поэтому мне нужно обновить ога тегов, а также.

Если вы говорите, что я могу установить заголовок при настройке маршрутов, это не работает в моем сценарии.

Сценарий

.when('/albums', 
{ 
    templateUrl: 'Angular-Templates/albums.html', 
    controller: 'albumsCtrl', 
    caseInsensitiveMatch: true, 
    title: 'Albums' 
}) 

Теперь albumsCtrl по очереди вызывает функцию дб и получает список availbles альбомов. Теперь пользователь нажмет на любой из выбранных альбомов, а название должно быть обновлено до названия альбома,

FYI: - Я НЕ использую угловое.

ответ

1

Чтобы обновить название браузера на JavaScript, вы должны использовать свойство document.title.

Пример:

в контроллере

$scope.setTitleHindi = function() { 
    document.title = "Hindi"; 
} 

и в шаблоне

<span ng-click="setTitleHindi">Click Me!</span> 
+0

кажется, что вы очень торопитесь, чтобы ответить на вопрос .. вы полностью изучили вопрос. Мне нужно обновить теги og, так как welll..plus проверить эту ссылку http://stackoverflow.com/questions/ 413439/how-to-dynamic-change-a-web-pages-title – abc

+0

Если это не ответит на ваш вопрос достаточно, не стесняйтесь ниспровергать и двигаться дальше. Я не уверен, что вы подразумеваете под тегами 'og', поэтому я ответил на часть вопроса, который, как я чувствовал, у меня были навыки (и то, что я считал основным вопросом, поскольку это название вопроса). Тем не менее, SO не является кодовым письмом, поэтому вы можете опубликовать то, что вы пробовали! И еще одно, кто сказал, что я отклонил ваш вопрос? – CollinD

+0

если вы не поняли вопрос, то почему вы остановили вопрос ... og -open graph tags (http: // ogp.me /) – abc

2

Вы можете определить контроллер на уровне.

<html ng-app="app" ng-controller="titleCtrl"> 
    <head> 
    <title>{{ Page.title() }}</title> 
... 
<a ng-click="page"> 

Вы создаете контроллер:

angular.controller('$scope', 
    function($scope) { 
    var title = 'default'; 
    $scope.page = function(data) { 
     title = data; 
    } 
}); 

Inject страницу и 'Page.setTitle()' Звонок из контроллеров.