如何有条件地在AngularJS中应用CSS样式?
Q1。假设我想在按下主“删除”按钮之前改变用户标记为删除的每个“项目”的外观。 (这种立即的视觉反馈应该消除对于“你确定吗?”对话框的需要。)用户将选中复选框以指示应该删除哪些项目。如果未选中复选框,则该项应还原为其常规外观。
什么是应用或删除CSS样式的最佳方式? Q2。假设我想允许每个用户个性化我的网站如何呈现。例如,从一组固定的字体大小中选择,允许用户定义的前景和背景颜色等。 什么是应用CSS样式的用户选择/输入的最好的方式?
Angular提供了一些内置的指令来有条件地/动态地操作CSS样式:
> ng-class – 当一组CSS样式是静态/提前知道时使用 正常的“角度方法”包括将模型/范围属性绑定到将接受用户输入/操纵(即,使用ng-model)的UI元素,然后将该模型属性与上述内置指令之一相关联。 当用户更改UI时,Angular将自动更新页面上的相关元素。 Q1听起来像是ng-class的一个好例子 – CSS样式可以在类中捕获。 ng-class接受必须求值为以下之一的“表达式”: >一个以空格分隔的类名称的字符串 假设您的项目是使用ng-repeat显示在一些数组模型上,并且当一个项目的复选框被选中,你想应用待删除类: <div ng-repeat="item in items" ng-class="{'pending-delete': item.checked}"> ... HTML to display the item ... <input type="checkbox" ng-model="item.checked"> </div> 上面,我们使用ng类表达式类型#3 – 类名称的映射/对象到布尔值。 Q2听起来像是ng风格的一个好例子 – CSS样式是动态的,所以我们不能为此定义一个类。 ng-style接受一个“表达式”,必须求值为: > CSS样式名称到CSS值的地图/对象 对于一个有用的示例,假设用户可以在背景颜色的texbox中输入颜色名称(jQuery颜色选择器会更好): <div class="main-body" ng-style="{color: myColor}"> ... <input type="text" ng-model="myColor" placeholder="enter a color name"> Fiddle为上述两者。 小提琴还包含ng-show和ng-hide的示例。如果选中复选框,除了背景颜色变为粉红色,还会显示一些文本。如果在文本框中输入“红色”,则div将隐藏。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |