|
导读网页的本质就是超级文本标记语言,通过结合使用其他的Web技术(如:脚本语言、公共网关接口、组件等),可以创造出功能强大的网页。因而,超级文本标记语言是万维网(Web)编程的基础,也就是说万维网是建立... 网页的本质就是超级文本标记语言,通过结合使用其他的Web技术(如:脚本语言、公共网关接口、组件等),可以创造出功能强大的网页。因而,超级文本标记语言是万维网(Web)编程的基础,也就是说万维网是建立在超文本基础之上的。超级文本标记语言之所以称为超文本标记语言,是因为文本中包含了所谓“超级链接”点。 在Angular(以及一般情况下)中,我非常喜欢将视图逻辑保留在我的控制器之外,而且我认为没有发生这种情况的地方是CSS类和ng-class的使用。对于ng-class你可能不太熟悉,它是一个特殊的指令,允许绑定表达式并将它们作为元素的类放置。ng-class的一个非常常见的用途是这样的: <p ng-class="{{active}}">Class applied!</p><script>
function MySimpleCtrl() {
$scope.active = 'active';
...所以在控制器中我们设置应该显示的特定类; 所以假设我们有一个类“inactive.”——我们简单地将$scope.active 变量设置为“inactive”,我们最后在视图中设置了类。 但ng-class甚至比那更好用: ng-class接受三种不同类型的值: 1、字符串值(类的名称) 2、字符串数组(要应用的类) 3、要评估的对象+表达式 其中选项3的语法看起来像这样 ng-class="{object of key/value pairs}[expression to evaluate]"基本上,ng-class计算表达式(在方括号中),然后使用它作为对象的键;键相关的值是应用的类。 这允许我们将$scope.active值转换为真正的布尔值(这正是我们使用它的方式)——控制器中没有视图逻辑,控制器更容易测试并且可以重用。 这是一个简单的例子: <p ng-class="{true: 'active', false: 'inactive'}[isActive]">
Class applied
!</p><script>
function MySimpleCtrl() {
$scope.isActive = true;如果您正在使用某种条件表达式(即切换),那么您可以使用另一种非常相似的语法: ng-class="{'selected': isSelected, 'blue': isBlue}"此处,如果selected为真,则将应用选定的类,blue类也一样。Angular将应用尽可能是真实的,因此您可以将类设置为selected和blue。 以上就是如何保持CSS类不受Angular控制器的影响的详细内容,更多请关注php中文网其它相关文章! 网站建设是一个广义的术语,涵盖了许多不同的技能和学科中所使用的生产和维护的网站。 |
温馨提示:喜欢本站的话,请收藏一下本站!