Angularjs 在角度表达式中格式化字符串
在我的angular应用程序中,我想显示一个值:Angularjs 在角度表达式中格式化字符串,angularjs,Angularjs,在我的angular应用程序中,我想显示一个值: <div>{{myValue}}</div> {{myValue} 如果值为空,我还希望使其显示为“Empty”,如下所示: <div>{{myValue || 'Empty'}}</div> {{myValue | |'Empty'} 如何使myValue正常格式化,而“Empty”用斜体表示?一种方法是使用ng if来处理这两种情况: HTML模板: <div ng-if="myV
<div>{{myValue}}</div>
{{myValue}
如果值为空,我还希望使其显示为“Empty”,如下所示:
<div>{{myValue || 'Empty'}}</div>
{{myValue | |'Empty'}
如何使myValue正常格式化,而“Empty”用斜体表示?一种方法是使用
ng if
来处理这两种情况:
HTML模板:
<div ng-if="myValue">{{myValue}}</div>
<div ng-if="!myValue"><i>Empty</i></div> <!-- css here! -->
{{myValue}
空的
但是,这可能有点冗长。如果反复出现这种情况,请使用控制器函数中的
过滤器
或绑定ng bind html
。您可以使用ng show
/ng hide
:
<div ng-show="myValue">{{myValue}}</div>
<div ng-hide="myValue"><i>Empty</i></div>
{{myValue}
空的
这些指令采用“truthy”值,并根据传递的值显示/隐藏。一种方法是使用ng bind html
<body ng-controller="ngBindHtmlCtrl">
<p ng-bind-html="myValue"></p>
</body>
在控制器中,您可以管理空状态:
app.controller('ngBindHtmlCtrl', ['$scope', function ngBindHtmlCtrl($scope) {
if($scope.myValue == ''){
$scope.myValue = '<i>Empty</i>';
}
}]);
app.controller('ngBindHtmlCtrl',['$scope',函数ngBindHtmlCtrl($scope){
如果($scope.myValue==''){
$scope.myValue='Empty';
}
}]);
检查这个
如果要将html添加到输出,则需要使用
ng bind html
指令