最近,开始学习AngularJS。

开始记录学习AngularJS的过程,从一些很简单的知识点开始。

习惯先从实际应用的指令开始,再从应用中去体会AngularJS的优缺点、使用的场景等。

之前一直希望能在学的过程中,逐步写出一个有设计感的web页面成果,

但发现,有点困难,反而在样式等花的时间多,学AngularJS的时间少了。

所以最后决定写一些简单的范例就可以了

第一篇,样式相关的指令。

  1. ng-Class

在angularJS中可利用一下三种方法操作class:

A、scope变量绑定

这里为class,不能用ng-class

实现功能:设置字体大小

<div class="{{means_1}}">scope变量绑定(不建议使用)</div>
<script type="text/javascript">
var app = angular.module('MyDemo', []);
app.controller('MyCtrl',function($scope) {
$scope.means_1="class_1";
});
</script>

   B、字符串数组形式:

       boolclass=true 则显示 class_true 的样式

boolclass=false则显示class_false的样式

功能实现:点击【样式切换】可切换字体样式

 <div ng-class="{true:'class_true',false:'class_false'}[boolclass]">字符串数组形式</div>
<input type="button" value="样式切换" ng-click="changeclass();" name="">
<script type="text/javascript">
var app = angular.module('MyDemo', []);
app.controller('MyCtrl',function($scope) {
$scope.boolclass=false;
$scope.changeclass=function(){
var name=$scope.boolclass;
var change=name==false?true:false;
$scope.boolclass=change;
};
});
</script>

C、对象key/value处理

    class_error、class_warn:样式

    error、warning:变量

    error为True则增加class_error样式,为false则删除class_error样式,warning同理

功能实现:点击【增/删错误样式】可增/删字体的错误样式,点击【增/删警告样式】可增/删字体的警告样式

<strong>第三种方式:</strong>
<div ng-class="{class_error:error,class_warn:warning}">对象key/value处理</div>
<div><input type="button" value="增/删错误样式" ng-click="AddError();" name="">
<input type="button" value="增/删警告样式" ng-click="AddWarn();" name=""></div>
<script type="text/javascript">
var app = angular.module('MyDemo', []);
app.controller('MyCtrl',function($scope) {
$scope.error=false;
$scope.warning=false;
$scope.AddError=function(){
var name=$scope.error;
var change=(name==false?true:false);
$scope.error=change;
};
$scope.AddWarn=function(){
var name=$scope.warning;
var change=(name==false?true:false);
$scope.warning=change;
};
}); </script>

2、ng-class-odd、ng-class-even

使用方式与ng-class相似,分别是在奇数列和偶数列对应的类,与ng-repeat配合使用

功能实现:点击【样式切换】可切换奇偶行样式

<strong>ng-class-odd、ng-class-even</strong>
<table>
<tr ng-repeat="x in records" ng-class-odd="{true:'class_true',false:'class_false'}[boolclass]"
ng-class-even="{false:'class_true',true:'class_false'}[boolclass]">
<td>{{x.Name}}</td>
<td>{{x.Country}}</td>
</tr>
</table>
<input type="button" value="样式切换" ng-click="changeclass();" name="">
<script type="text/javascript">
var app = angular.module('MyDemo', []);
app.controller('MyCtrl',function($scope) {
$scope.records = [
{
"Name" : "Alfreds Futterkiste",
"Country" : "Germany"
},
{
"Name" : "Berglunds snabbk",
"Country" : "Sweden"
},
{
"Name" : "Centro comercial Moctezuma",
"Country" : "Mexico"
},
{
"Name" : "Ernst Handel",
"Country" : "Austria"
}
];
$scope.boolclass=false;
$scope.changeclass=function(){
var name=$scope.boolclass;
var change=(name==false?true:false);
$scope.boolclass=change;
};
});
</script>

3、ng-style

ng-style用来绑定元素的css样式,其表达式的返回值为一个js对象,键为css样式名

功能实现:设置字体样式

<strong>ng-style</strong>
<div ng-style="{color:'red'}">ng-style测试</div>
<div ng-style="style">ng-style测试</div>
var app = angular.module('MyDemo', []);
app.controller('MyCtrl',function($scope) {
$scope.style = {color:'blue'}; 
});

4、ng-show,ng-hide

ng-show和ng-hide的值为boolean类型的表达式,当值为true时,对应的show或hide生效。

功能实现:选中checkbox,显示字体

<strong>ng-show、ng-hide</strong>
前端技术显示: <input type="checkbox" ng-model="IsCheck">
<div ng-show="IsCheck">
<h1>Hello World!~</h1>
<p>js,angularjs,html,css,nodejs,jquery</p>
</div>

【AnjularJS系列1 】— 样式相关的指令的更多相关文章

  1. AnjularJS系列1 —— 样式相关的指令

    最近,开始学习AngularJS. 开始记录学习AngularJS的过程,从一些很简单的知识点开始. 习惯先从实际应用的指令开始,再从应用中去体会AngularJS的优缺点.使用的场景等. 之前一直希 ...

  2. Vue 系列之 样式相关

    Class 与 Style 绑定 动态修改元素样式 <head> <meta charset="utf-8" /> <meta http-equiv= ...

  3. Vue基础01vue的基本示例,vue的双向数据绑定,vue中常见的几种用法,vue相关常见指令

    自学vue框架,每天记录重要的知识点,与大家分享!有不足之处,希望大家指正. 本篇将讲述:vue的基本示例,vue的双向数据绑定,vue中常见的几种用法,vue相关常见指令 前期学习基础,使用vue. ...

  4. Erlang 虚拟机 BEAM 指令集之内存管理相关的指令

    翻看 BEAM 虚拟机指令集的时候(在编译器源码目录下:lib/compiler/src/genop.tab),会发现有一些和内存分配/解除分配相关的指令,如下所示: allocate StackNe ...

  5. 韩顺平细说Servlet视频系列之tom相关内容

    韩顺平细说Servlet视频系列之tom相关内容 tomcat部署项目操作(注意:6.0版本以后的支持该操作,5.x版本需要另外配置?待验证!) 项目发布到tomcat的webapps文件下,然后启动 ...

  6. 【转】Reflector、reflexil、De4Dot、IL相关操作指令合集

    PS:CTRL+F 输入你需要的内容,可以快速查找页面上的内容. 名称 说明 Add 将两个值相加并将结果推送到计算堆栈上. Add.Ovf 将两个整数相加,执行溢出检查,并且将结果推送到计算堆栈上. ...

  7. Vue Cli 中使用 Karma / Chrome 执行样式相关单元测试

    在 GearCase 开源项目 中,我使用了 Vue Cli 的默认测试框架.因此和样式相关的东西,都无法进行测试.因为它并不类似于无头浏览器,而是存在于虚拟内存之中. 现状 在如下 button.s ...

  8. css基础-css选择器和css文本样式相关

    css基础-css选择器和css文本样式相关: 使用link链入外部样式,页面加载时会同时加载样式 @import url(“*.css”);使用导入式,页面加载完后,才会加载样式 链接伪类的顺序 : ...

  9. 痞子衡嵌入式:浅谈i.MXRT1xxx系列MCU时钟相关功能引脚的作用

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1xxx系列MCU时钟相关功能引脚作用. 如果我们从一颗 MCU 芯片的引脚分类来看芯片功能,大概可以分为三大类:电源.时钟 ...

随机推荐

  1. Android PullToRrefresh 自定义下拉刷新动画 (listview、scrollview等)

    PullToRefreshScrollView 自定义下拉刷新动画,只需改一处. 以下部分转载自http://blog.csdn.net/superjunjin/article/details/450 ...

  2. Photoshop把图片调成固定的像素。

    1.用PhotoShop打开需要修改的图片. 2.点击“窗口”菜单的“图层”子菜单,打开图层控制面板(快捷键F7).3.用鼠标左键双击“图层”面板的“背景”图层.在弹出窗口中点击“确定”按钮,解锁背景 ...

  3. Unity 需不需要再建Assets文件夹

    不需要,默认所有文件都是在Assets文件夹下创建的,看不到是因为设置了单栏模式,开启双栏模式就能看到了.

  4. 页面定制CSS代码初探(一):页面变宽 文本自动换行 图片按比缩放

    初识博客 初写博客,先在设置里选了个喜欢的模板 第一眼就爱上了呢!那极简的风格,我喜欢!!但是,应用后,却发现... 纳尼!模板上右侧那张漂亮的图片呢?!我的怎么什么都没有.没有图片好难看啊,瞬间无爱 ...

  5. Ubuntu18.04解决鼠标移动到Gnome顶栏左上角窗口不能平铺( Activites Overview 界面),和应用程序扩展不好用问题。

    在用习惯了GNOME我们知道一个很好的功能就是通过鼠标移动到Gnome顶栏左上角后所有打开的窗口就会平铺在显示器上方便我们选不同的窗口(Activites Overview 界面),苹果MAC系统也有 ...

  6. JTree知识小点

    创建一个新节点 DefaultMutableTreeNode newNode = new DefaultMutableTreeNode("新节点"); 被选中的节点 Default ...

  7. UVALive-7197 Axles 动态规划 多个背包问题

    题目链接:https://cn.vjudge.net/problem/UVALive-7197 题意 需要生产n种(2<=n<=14)零件,每种零件可以用两种材料制作,对这两种材料的消耗相 ...

  8. [luogu4133 BJOI2012] 最多的方案 (计数dp)

    题目描述 第二关和很出名的斐波那契数列有关,地球上的OIer都知道:F1=1, F2=2, Fi = Fi-1 + Fi-2,每一项都可以称为斐波那契数.现在给一个正整数N,它可以写成一些斐波那契数的 ...

  9. React和Vue中,是如何监听变量变化的

    React 中事件监听 本地调试React代码的方法 先将React代码下载到本地,进入项目文件夹后yarn build 利用create-react-app创建一个自己的项目 把react源码和自己 ...

  10. windows部署iBase4J

    所需环境:jdk 1.8.eclipse(myeclipse不可以).nginx.activeMQ .zookeeper.redis 第一步 下载jdk1.8 按步骤安装至指定位置即可 第二步 安装e ...