AngularJS 1.6.4 未显示 CSS
Posted
技术标签:
【中文标题】AngularJS 1.6.4 未显示 CSS【英文标题】:CSS not showing with AngularJS 1.6.4 【发布时间】:2017-12-27 20:48:36 【问题描述】:我正在为移动应用开发开发 Cordova 和 Angular JS,但我遇到了 CSS 类没有按预期显示的问题。 1) style.css 文件中的 CSS 代码:
.nav .active
border-top: 3px solid #11a7ab;
2)JS控制器代码NavCtrl.js(我有2个标签HOME和ABOUT),这里我初始化home标签:
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“活动”没有出现。我是否遗漏了代码配置以使代码与 AngularJS v1.6.4 一起正常工作?
【问题讨论】:
您应该在 NavCtrl .js 之前加载您的 app.js 【参考方案1】:您没有向我们展示您的 app.js,但您似乎没有将控制器注册到您的应用程序的当前模块中,如官方文档中所示:
angular.module('controllerAsExample', [])
.controller('SettingsController1', SettingsController1);
并用这个替换 $scope 并使用 ng-controller="YourController as vm" ... vm.yourVar
看看更面向组件架构的 1.6 最佳实践。我们不再依赖 $scope 而是依赖类封装来处理范围变量
【讨论】:
大家好,工作就像一个魅力。谢谢朱伦。您的指示对我帮助很大。我在 app.js 中创建了控制器,现在可以正常工作了。 如果对您有帮助,请选择它作为正确答案:)以上是关于AngularJS 1.6.4 未显示 CSS的主要内容,如果未能解决你的问题,请参考以下文章
如果未使用 jQuery hide() 显示 AngularJS 表单项,是不是对其进行验证?
ngAnimate 在 AngularJS 1.6.4 中停止工作