html - 有条件地设置 HTML 元素属性
问题描述
我有一个可在线编辑的数据表。可编辑的列之一是 md 输入字段。我可以很容易地添加md-maxlength="80"
以显示字符计数器。鉴于此数据表是使用 UI-Grid 完成的(该代码在此处不相关),它将计数器应用于该列中的所有 md 输入。我真正想要的是只在焦点上显示字符计数器。这是使用 Angular 1.X。
到目前为止,我已经得到了这个,但我不知道表达式是否ng-class
可以接受除 CSS 类之外的任何内容。
<md-input
ng-init="focused=false"
ng-class="{'md-maxlength=80': focused}"
ng-focus="focused=true"
ng-blur="focused=false"
...
</md-input>
解决方案
如果我理解正确,您想在ismd-maxlength="80"
时添加属性。现在你正试图将属性设置为一个 CSS 类,这是没有意义的,因为你不能拥有focused
true
<div class="myClass md-maxlength='80'">
为什么不只是md-maxlenth
有条件地设置属性的值呢?将值设置为80
whenfocused=true
并将其设置为null
else。可能将其设置为0
或其他对控件有意义的值,md-input
因为我不熟悉它。
<md-input
ng-init="focused=false"
md-maxlength="focused ? 80 : null"
ng-focus="focused=true"
ng-blur="focused=false"
...
</md-input>
推荐阅读
- redis - Heroku 上的 Redis 没有响应
- html - 拒绝应用来自 'URL' 的样式,因为它的 MIME 类型 ('text/html') 不是受支持的样式表 MIME 类型,并且启用了严格的 MIME 检查
- reactjs - 相对于箭头键旋转图像反应js
- asp.net - 尝试根据 Id 显示项目列表,但出现错误
- java - 给定一系列不同的宽度和一个点,找到包含该点的宽度
- python - 比较 2 个字典列表并将更改的值作为嵌套字典返回
- java - 如何将原始 mp3 从 recyclerview 项目传递到另一个活动
- java - Android 实现中的自定义 Listview Adapter 问题
- python - 按字母顺序生成给定字符串的所有子字符串(按字典顺序)
- python - sklearn 中关于 GridSearchCV 的说明