> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kasoftware.com/llms.txt
> Use this file to discover all available pages before exploring further.

# arc:if

> 计算包含对象、属性和值的表达式，并在表达式为 true 时执行正文块。

export const siteNameShort = "知行之桥";

可以使用 arc:if 关键字来计算包含对象，属性和值的表达式。如果指定表达式计算为 ture，则执行此关键词的作用域。

## 参数

* **exp**：要计算的表达式。可以使用字符串，日期和数字进行比较。
* **attr**：与目标值比较的属性的名称。可以检查属性值是否与目标值匹配，也可以检查属性值是否为空。
* **value**：与 **attr** 指定的属性值进行比较的目标值。
* **item**：包含被比较属性的对象。
* **operator**：用于比较由 **attr** 和 **value** 指定运算对象的运算器名称。允许的值有：`null`，`notnull`，`hasvalue`，`equals`，`equalsignorecase`，`notequals`，`lessthan` 和 `greaterthan`。默认为：`notnull`。
* **action**：表达式计算结果为 `true` 时要执行的操作。允许的值有：`break`，`continue`。

## 控制属性

无

## 示例

计算一个简单的两值比较：

```xml theme={null}
<arc:if exp="[attr] == 10">
```

判断给定值与给定属性值的相等性：

```xml theme={null}
<arc:set attr="attr1" value="value1"/>
<arc:set attr="attr2" value="value2"/>
<arc:if attr="attr1" value="[attr2]" operator="notequals"> <!-- Evaluates to true -->
<arc:else>
False
</arc:else>
True
</arc:if>
```

判断属性是否存在：

```xml theme={null}
<arc:set attr="exists" value="true"/>
<arc:if attr="exists"> <!-- Evaluates to true -->
[exists]
</arc:if>
```

## 另请参阅

* [arc:exists](./op-arc-exists)：检查特定对象中的属性是否有值。
* [arc:equals](./op-arc-equals)：创建一个相等时执行的代码块。
