Q1。假设我想在按下主“删除”按钮之前更改用户标记为要删除的每个“项目”的外观。(这种立即的视觉反馈应该消除了众所周知的“您确定吗?”对话框的需要。)用户将选中复选框以指示应删除哪些项目。如果未选中此复选框,则该项目应恢复为正常外观。
应用或删除CSS样式的最佳方法是什么?
Q2。假设我想允许每个用户个性化展示我的网站。例如,从一组固定的字体大小中进行选择,允许用户定义前景色和背景色等。
应用用户选择/输入的CSS样式的最佳方法是什么?
Angular提供了许多内置指令,用于有条件/动态地处理CSS样式:
常规的“角度方式”涉及将模型/范围属性绑定到将接受用户输入/操作(即使用ng-model)的UI元素,然后将该模型属性与上述内置指令之一相关联。
当用户更改UI时,Angular将自动更新页面上的关联元素。
Q1对于ng-class来说是一个很好的例子-CSS样式可以在一个类中捕获。
ng-class 接受“表达式”,该表达式必须计算以下值之一:
假设您的商品是使用ng-repeat在某些数组模型上显示的,并且选中了商品的复选框后,您想应用pending-delete该类:
pending-delete
<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-class表达式类型#3-类名的映射/对象为布尔值。
Q2听起来很适合ng样式-CSS样式是动态的,因此我们不能为此定义一个类。
ng-style 接受必须计算为以下内容的“表达式”:
对于一个人为的示例,假设用户可以在texbox中输入背景名称的颜色名称(jQuery颜色选择器会更好):
<div class="main-body" ng-style="{color: myColor}"> ... <input type="text" ng-model="myColor" placeholder="enter a color name">
为上述两者摆弄。
小提琴还包含 ng-show 和 ng-hide 的示例。如果选中此复选框,则除了背景颜色变为粉红色外,还会显示一些文本。如果在文本框中输入“红色”,则div将被隐藏。