繁体   English   中英

NG-STYLE在angularjs中不起作用

[英]NG-STYLE is not working in angularjs

message.viewed是一个布尔值。我需要根据布尔值更改消息内容的属性。在这里,我使用了一种方法。

<div  ng-style="message.viewed ? {'font-weight': 'bold''} : {'font-weight': 100}" >
<span >{{message.Title}}</span> {{message.details }}
</div>

您应该将ng-style更改为此

<div  ng-style="{'font-weight' : message.viewed ? 'bold' : '100'}" >
    <span >{{message.Title}}</span> {{message.details }}
</div>

像这样改变ng-style内的三元条件

 <div  ng-style="{'font-weight': message.viewed ? 'bold' : '100'}" >
<span >{{message.Title}}</span> {{message.details }}
</div>

演示版

 angular.module("app",[]) .controller("ctrl",function($scope){ $scope.message = {"viewed":true,"Title":"sample"} }) 
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <div ng-app="app" ng-controller="ctrl"> <div ng-style="{'font-weight': message.viewed ? 'bold' : '100'}" > <span >{{message.Title}}</span> {{message.details }} </div> </div> 

或者,如果仅涉及单个属性,则可以使用[style.fontWeight]而不是ng-style

<div  [style.fontWeight]="message.viewed ? 'bold' : '100'" >
    <span >{{message.Title}}</span> {{message.details }}
</div>

如果加粗后没有两个单引号,那会很好用

<div ng-style="message.viewed ? {'font-weight': 'bold'} : {'font-weight': 100}">
<span>{{message.Title}}</span> {{message.details }}

将$ scope变量分配给ng-style的最佳方法

$scope.style = message.viewed ? '{'font-weight': 'bold'}' : '{'font-weight': '100'}'

假设message.viewed表达式返回true / false,所以使用

 ng-style="{font-weight:{ true:'bold', false: 100} [ message.viewed ] }"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM