两个变量和明确的责任或一个变量与铸造?
Two variables and clear responsibilities or one variable with casting?
请告诉我以下两种方法中哪一种更清晰有用,可以显示和隐藏带有 ng-show
的文本。
代码 1:
控制器:
$scope.text = false;
if (error) {
$scope.text = "Error message";
} else {
$scope.text = false;
}
查看:
<div ng-show="!!text"> {{text}} </div>
代码 2:
控制器:
$scope.flag = false;
if (error) {
$scope.flag = true;
$scope.text = "Error message";
} else {
$scope.flag = false;
}
查看:
<div ng-show="flag">{{text}}</div>
哪个代码更简单易懂?
在代码 2 中,我可以省略 else
块,因此控制器看起来像:
if ( error ) {
$scope.flag = true;
$scope.text = "Error message";
}
==编辑2
代码是对事件的反应,所以我必须在每次调用事件时设置它们。
请使用这个:
$scope.text = true;
if ( error ) {
$scope.text = "Error message";
}
这里有错误的时候是return"Error Message"否则就是true
在 JavaScript 中混合变量类型是不好的做法。可能存在混合类型没问题的极端情况,但这不是极端情况。如果您正在寻找一种简化代码的方法,请使用 ternary operator
$scope.text = error ? 'Error message' : '';
请告诉我以下两种方法中哪一种更清晰有用,可以显示和隐藏带有 ng-show
的文本。
代码 1:
控制器:
$scope.text = false;
if (error) {
$scope.text = "Error message";
} else {
$scope.text = false;
}
查看:
<div ng-show="!!text"> {{text}} </div>
代码 2:
控制器:
$scope.flag = false;
if (error) {
$scope.flag = true;
$scope.text = "Error message";
} else {
$scope.flag = false;
}
查看:
<div ng-show="flag">{{text}}</div>
哪个代码更简单易懂?
在代码 2 中,我可以省略 else
块,因此控制器看起来像:
if ( error ) {
$scope.flag = true;
$scope.text = "Error message";
}
==编辑2 代码是对事件的反应,所以我必须在每次调用事件时设置它们。
请使用这个:
$scope.text = true;
if ( error ) {
$scope.text = "Error message";
}
这里有错误的时候是return"Error Message"否则就是true
在 JavaScript 中混合变量类型是不好的做法。可能存在混合类型没问题的极端情况,但这不是极端情况。如果您正在寻找一种简化代码的方法,请使用 ternary operator
$scope.text = error ? 'Error message' : '';