如何在AngularJS

时间:2016-08-03 09:23:38

标签: javascript angularjs

我在项目中使用了角度UI_Router。我想为特定状态加载特定的.less文件。我尝试使用angular-UI-router-styles,但它没有用。可能是使用less而不是css。

请检查我的代码。我正在使用angular-ui-router-styles将css添加到路由中。它正在工作,但页面的样式没有反映。

index.js

require('jquery/dist/jquery.js');
require('bootstrap/dist/css/bootstrap.css');
  require('./content/common.css');
require('angular');

require('angular-ui-router/release/angular-ui-router.js');
 require('angular-route/angular-route.js');
require('angular-cookies/angular-cookies.js');
require('materialize-css/dist/css/materialize.css');
require('angular-ui-router-styles/ui-router-styles.js');
angular.module('adminsuite',['ui.router','ngCookies','uiRouterStyles']).config(function($stateProvider, $urlRouterProvider) {

$urlRouterProvider.otherwise('/');

$stateProvider
    .state('login', {
        url: '/',
        views:{
            content:{
                templateUrl: 'Login/login.html',
                controller: 'loginController',
                data:{
                    css:"styles/login/login.less"
                }
            },
            footer:{
                templateUrl: 'common/footer.html',
                controller: 'footerController'
            }
        }



    })
    // HOME STATES AND NESTED VIEWS ========================================
    .state('dashboard', {
        url: '/dashboard',
        views:{
            header:{
                templateUrl: 'common/header.html',
                controller: 'headerController'
            },
            content:{
                templateUrl: 'dashboard/dashboard.html',
                controller: 'dashboardController',
                data:{
                    css:"styles/dashboard/dashboard.less"
                }
            },
            footer:{
                templateUrl: 'common/footer.html',
                controller: 'footerController'
            }
        }
    });

    // ABOUT PAGE AND MULTIPLE NAMED VIEWS =================================

   });

require('./Login/loginController.js');
 require('./dashboard/dashboardController.js');
 require('./common/headerController.js');
 require('./common/footerController.js');
  require('./services/loginAuthenticationService.js');
 require('./services/UserServices.js');

1 个答案:

答案 0 :(得分:0)

我意识到实现这一目标的唯一方法是使用Webpack或类似版本。这样您就可以在组件/指令中require('./state-1.less')。这个想法是webpack只包含所需的文件。但实际上,如果您已经开始设置新的编译工具/任务运行器并不简单。

为您的应用程序提供所有css没有问题。如果切换是您的任务,那么您可以使用ngclass根据每个州内发生的事件提供不同的样式块。

The_ehT是正确的,如果您想使用所需的插件,则需要提供已编译的css。