(快速参考)

可绑定的

目的

配置属性的可绑定性。

示例

salary bindable: false
firstName size: 5..15, bindable: true
department bindable: true

描述

设置为 false 以指示在数据绑定期间不自动向属性分配值。

package com.demo

class Employee {
    String firstName
    String department
    BigDecimal salary

    static constraints = {
        department bindable: false
        salary bindable: false
    }
}
import com.demo.Employee

def employee = new Employee()
employee.firstName = 'Bill'
employee.department = 'Percussion'
employee.salary = 42.0

// department and salary will NOT be bound because they are configured as non-bindable in the Employee.constraints closure
employee.properties = [firstName: 'William',
                       department: 'Retired',
                       salary: 99.99]

assert 'William' == employee.firstName
assert 'Percussion' == employee.department
assert 42.0 == employee.salary

默认情况下,静态类型实例属性是可绑定的。默认情况下不可绑定的属性是那些与瞬态字段、动态类型属性和静态属性相关的属性。

有关数据绑定的更多详细信息,请参阅数据绑定部分。

可绑定约束必须分配一个文本布尔值。动态表达式不是可绑定约束的有效值。该值必须是文本 truefalse

可绑定约束必须应用于在相关类中定义的约束闭包中。这意味着不可将可绑定用作共享约束。