有没有办法知道HTML中是否存在对象。我有一个像这样的对象。
$scope.object = {name : 'usman', profession : 'developer'}
现在我想在Html中知道对象是否存在,或者对象是否只包含这样的文本。
$scope.object = "Usman";
现在有我的条件。
<div ng-if="object">
<p>Object exist and have attributes</p>
</div>
<div ng-if="object">
<p>object contain only string no attributes exist</p>
</div>
我想写一个像这样的组合条件 - 如果对象没有属性并且只包含字符串,则显示div。
在这里。
<div ng-show="!objecthasnoattributes and objectOnlyContainsString">
<p>show this </p>
</div>
现在我该怎么做?
答案 0 :(得分:1)
您可以写如下。
<div ng-if="object !== undefined"> </div>
要检查var的类型是OBJECT还是STRING ......你可以按照以下步骤进行操作。
$scope.object = {
name: 'usman',
profession: 'developer'
};
$scope.myString = "Usman";
$scope.isString = function(val) {
return typeof val === 'string';
}
$scope.isObject = function(val) {
return typeof val === 'object';
}
然后检查以下类型。
<div ng-if="object !== undefined && isObject(object)">
<p>Object Value </p>
</div>
<div ng-if="myString !== undefined && isString(myString)">
<p>String value</p>
</div>
要求更多查询
由于
答案 1 :(得分:1)
使用单一方法可能会更短:
HTML:
<div ng-if="isObject()">
<p>Object exist and have attributes</p>
</div>
<div ng-if="!isObject()">
<p>object contain only string no attributes exist</p>
</div>
控制器:
$scope.isObject = function() {
return typeof($scope.object) === 'object';
}
更新:
如果您只想显示字符串,
$scope.isString = function() {
return typeof($scope.object) === 'string';
}
< strong>那么你只需要一个html:
<div ng-if="isString()">
<p>Show this</p>
</div>
答案 2 :(得分:1)
你可以轻松搞定。
$scope.object = {name : 'usman', profession : 'developer'};
$scope.getBType = function(test){
return( typeof test);
}
<div ng-if="getBType(object)=='object' && getBType(object.name)=='string'">
<p> Show this</p>
</div>
答案 3 :(得分:0)
如果您确定输入object
仅限以下类型。
$scope.object = {name : 'usman', profession : 'developer'};
$scope.object = "Usman";
你可以简单地使用:
<div ng-if="object && object.name">
<p>Object exist and have attributes</p>
</div>
<div ng-if="object && !object.name">
<p>object contain only string no attributes exist</p>
</div>
只有当对象存在且具有name属性时,才会满足条件#1。