Ответ 1
Вы должны иметь доступ и установить заголовок с помощью абстракции $window
, тем самым устраняя необходимость размещения контроллера в теге html
.
Неправильно ли объявлять теги ng-app
и ng-controller
в теге <html>
?
Например: <html class="no-js" ng-app="myApp" ng-controller="MainCtrl">
Это считается плохой практикой? Я пытаюсь управлять тегом <title>
своего приложения динамически, поэтому я хочу объявить контроллер MainCtrl
раньше, поскольку его область важна в остальной части приложения.
Затем я могу использовать <title>{{settings.title}}</title>
в контроллере MainCtrl
и иметь дочерние контроллеры для доступа к нему через $scope.$parent.settings.title = "hello world";
Вы должны иметь доступ и установить заголовок с помощью абстракции $window
, тем самым устраняя необходимость размещения контроллера в теге html
.
Я не думаю, что до сих пор не будет никакой проблемы. Единственное влияние на то, что корневой костяк больше не читается из html-разметки, потому что область управления перекрывает его.
Например,
<div id="parent" ng-app>
<div id="child" ng-controller='...'>
$rootScope.$id = 002 // rootscope from $rootscope service
$("#parent").scope().$id =002 // rootscope scope get from element scope
$("#child").scope().$id =003 // controller scope get from element scope
когда дело доходит до той же разметки,
<div id="parent" ng-app ng-controller='...'>
$rootScope.$id = 002 // rootscope from $rootscope service
$("#parent").scope().$id =003 // controller scope get from element scope
Здесь у вас нет способа получить rootcope из области видимости элемента, но кто заботится.