我可以在模板上修改外部声明吗?

时间:2014-03-20 22:44:33

标签: angularjs templates

我的网站遵循以下模板:

<html lang="fr" ng-app="myApp">
    <head>
        <meta charset="UTF-8"><title>{{title}}</title>
    </head>
    <body>
        <navbar>
            // My menu and other links
        </navbar>
        <section role="main" ng-controller="car-controller">
            <ul>
                <li ng-repeat="car in car">
                    {{car.state}}
                </li>
            </ul>
        </section>  
        // Footer
    </body>
</html>    

我所有不同的页面都应该有一个不同的主要部分和一个不同的控制器来管理它们。

我的问题是:如何更新我的所有控制器中的{{title}}声明,例如car-controller这个例子?

1 个答案:

答案 0 :(得分:1)

您可以通过注入$window$document来修改控制器内部的文档标题,而不会绑定任何值。

angular.module('myApp')
    .controller('car-controller', function($scope, $window){
        $window.document.title = "Title from Car Controller";
});

如果需要,您可以将逻辑移动到可调用函数,这可以针对您计划用于每个部分的所有控制器完成。