CSS没有显示AngularJS 1.6.4

时间:2017-07-21 17:47:34

标签: css angularjs cordova

我正在为移动应用程序dev开发Cordova和Angular JS但是我遇到了CSS类的困难,但没有按预期显示。
1)style.css文件中的CSS代码:

  .nav .active {
    border-top: 3px solid #11a7ab; }

2)JS控制器代码NavCtrl.js(我有2个标签HOME和ABOUT),这里我初始化主页选项卡:

function NavCtrl($scope){

    $scope.menu = 'home';

}

3)html代码如下:

<!DOCTYPE html>
<html ng-app="app">
    <head>
        <meta charset="utf-8" />
        <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, target-densitydpi=device-dpi" />
        <link href='http://fonts.googleapis.com/css?family=Ubuntu:400,700' rel='stylesheet' type='text/css'>
        <link rel="stylesheet" type="text/css" href="css/style.css" />
        <title>Hello World</title>
    </head>
    <body>
        <header class="header">
            My app
        </header>

        <section ng-view class="view">
        </section>

        <nav class="nav" ng-controller="NavCtrl">
            <a href="#home" ng-click="menu = 'home'" ng-class="{'active': menu=='home'}"><i class="icon-home"></i></a>
            <a href="#about" ng-click="menu = 'about'" ng-class="{'active': menu=='about'}"><i class="icon-about"></i></a>
        </nav> 


        </script>
             <script src="js/jquery.js"></script>
             <script src="js/angular-1.6.4.js"></script>
             <script src="js/controller/NavCtrl.js"></script>
             <script src="js/app.js"></script>
        <script>
    </body>
</html>

请注意,当我使用AngularJS v1.1.5时,代码没有任何问题,但是当我使用AngularJS v1.6.4时,CSS&#34; active&#34;没有出现。我是否遗漏了配置以使代码与AngularJS v1.6.4一起正常工作?

1 个答案:

答案 0 :(得分:1)

您没有向我们展示您的app.js,但看起来您没有将您的控制器注册到您应用的当前模块中,如官方文档中所示:              angular.module('controllerAsExample', []) .controller('SettingsController1', SettingsController1);

并且还用此替换$ scope并使用ng-controller =&#34; YourController作为vm&#34; ...... {{vm.yourVar}}

查看更适合组件架构的1.6最佳实践。我们不再依赖$ scope,而是依靠类封装来处理范围变量