Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在angularjs单页应用程序中组织样式?_Javascript_Angularjs_Model View Controller_Single Page Application_Singlepage - Fatal编程技术网

Javascript 如何在angularjs单页应用程序中组织样式?

Javascript 如何在angularjs单页应用程序中组织样式?,javascript,angularjs,model-view-controller,single-page-application,singlepage,Javascript,Angularjs,Model View Controller,Single Page Application,Singlepage,我正在尝试创建一个单页angular应用程序,但我不知道如何为特定的控制器视图加载样式,如果控制器范围只能应用于body元素 以下是整个角度应用程序的基本布局: <!DOCTYPE html> <html ng-app="app"> <head> <link href="/styles/some-basic-styles.css" rel="stylesheet" /> <script src="/scripts/angul

我正在尝试创建一个单页angular应用程序,但我不知道如何为特定的控制器视图加载样式,如果控制器范围只能应用于body元素

以下是整个角度应用程序的基本布局:

<!DOCTYPE html>
<html ng-app="app">
<head>
    <link href="/styles/some-basic-styles.css" rel="stylesheet" />

    <script src="/scripts/angular.min.js"></script>
    <script src="/script/custom/app.js"></script>
</head>
<ng-view></ng-view>
</html>
示例视图:

<body ng-controller="someController">
    <!--some html code here-->
<script src="/scripts/someController.js"></script>
</body>

那么,如果只能从全局tamplate访问,我如何更改页面标题或在视图中添加样式/脚本


我想我误解了一些东西,或者我必须学习一些关于angular的其他东西,但那是什么呢?谢谢你的帮助

我不确定,但是,您可以在
html
上定义一个ng控制器,就像
RootController
一样,然后使用标准的角度绑定实现您想要的任何功能


如果这不起作用,则始终存在
$rootScope
。在
$rootScope
上定义的属性\方法可在
ng app

中的任何位置访问,以获取您可以在控制器中执行的标题 像

或者最好建立一个像这样的服务

app.factory('WindowUtils', function($window) {
        return {
           setTitle:function(str){
              $window.document.title = str;
           }
        }
    })
对于这种风格我不理解,麻烦是因为你能把
您的styles.css中的所有样式都适用于整个应用程序。

我认为第二个选项更好,它可以帮助我设置标题。但我不明白,它如何帮助我在主模板的头部注入样式?您希望样式如何被注入。举一个这样的例子:
ng style
不是这样工作的,但是您总是可以动态选择样式表,例如
。或者在单个元素上设置
ng样式
$window.document.title = 'My title';
app.factory('WindowUtils', function($window) {
        return {
           setTitle:function(str){
              $window.document.title = str;
           }
        }
    })