结合多个和条件 ng-style
Combine multiple and contidtional ng-style
我想在我的 ng-style 中组合 2 种样式,其中一种是条件样式。
ng-style="{'height':height + '%'}"
ng-style="hasScroll !== 0 && {'width': (tableWidth) + 'px'}"
如果条件为假,我如何在不覆盖宽度的情况下将它们结合起来?
以下内容不好,因为它会覆盖 'width' 属性 如果条件为 falsefalse:
ng-style="{ 'height': height + '%', 'width': hasScroll !== 0 ? (tableWidth) + 'px' : undefined }"
你可以试试看,但不太好读:
ng-style="{ 'height':height + '%', 'width': hasScroll !== 0 ? (tableWidth) + 'px' : undefined }"
我想你可以这样做:
ng-style="{ width: hasScroll !== 0 ? tableWidth : 0, height: height }"
您可以通过 ,
分隔
添加多个属性
<div ng-style="{ 'height': height + '%', 'width': hasScroll !== 0 ? (tableWidth) + 'px' : undefined }">
test data
</div>
那么,最好在controller中处理你的逻辑
<div ng-style="getStyles()">
test data
</div>
$scope.getStyles = function () {
var styleObj = {};
styleObj['height'] = height + '%';
if ($scope.hasScroll !== 0) {
styleObj['width'] = tableWidth + 'px';
}
return styleObj;
}
试试这个:
ng-style="hasScroll !== 0 && {'width': (tableWidth) + 'px'} || { 'height': height + '%'}"
工作示例:
var myApp = angular.module('myApp', []);
function MyCtrl($scope) {
$scope.has = 1;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="MyCtrl" ng-style=" has != 0 && {'cursor':'pointer','background-color':'blue'} || {'background-color':'blue'} ">
kick
</div>
我想在我的 ng-style 中组合 2 种样式,其中一种是条件样式。
ng-style="{'height':height + '%'}"
ng-style="hasScroll !== 0 && {'width': (tableWidth) + 'px'}"
如果条件为假,我如何在不覆盖宽度的情况下将它们结合起来?
以下内容不好,因为它会覆盖 'width' 属性 如果条件为 falsefalse:
ng-style="{ 'height': height + '%', 'width': hasScroll !== 0 ? (tableWidth) + 'px' : undefined }"
你可以试试看,但不太好读:
ng-style="{ 'height':height + '%', 'width': hasScroll !== 0 ? (tableWidth) + 'px' : undefined }"
我想你可以这样做:
ng-style="{ width: hasScroll !== 0 ? tableWidth : 0, height: height }"
您可以通过 ,
分隔
<div ng-style="{ 'height': height + '%', 'width': hasScroll !== 0 ? (tableWidth) + 'px' : undefined }">
test data
</div>
那么,最好在controller中处理你的逻辑
<div ng-style="getStyles()">
test data
</div>
$scope.getStyles = function () {
var styleObj = {};
styleObj['height'] = height + '%';
if ($scope.hasScroll !== 0) {
styleObj['width'] = tableWidth + 'px';
}
return styleObj;
}
试试这个:
ng-style="hasScroll !== 0 && {'width': (tableWidth) + 'px'} || { 'height': height + '%'}"
工作示例:
var myApp = angular.module('myApp', []);
function MyCtrl($scope) {
$scope.has = 1;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="MyCtrl" ng-style=" has != 0 && {'cursor':'pointer','background-color':'blue'} || {'background-color':'blue'} ">
kick
</div>