trait Binding[+A] extends AnyRef
A data binding expression that represents a value that automatically recalculates when its dependencies change.
Author:
杨博 (Yang Bo) <[email protected]>
- Source
- Binding.scala
You may create a data binding expression via
Binding { ??? }
block or@dom
annotation.val bindingInt: Binding[Int] = Binding { 100 }
@dom val bindingBr: Binding[HTMLBRElement] = <br/>
A data binding expression may depend on other binding expressions via bind method:
val bindingString: Binding[String] = Binding { bindingInt.bind.toString }
- Alphabetic
- By Inheritance
- Binding
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
addChangedListener(listener: ChangedListener[A]): Unit
- Attributes
- protected
-
abstract
def
removeChangedListener(listener: ChangedListener[A]): Unit
- Attributes
- protected
-
abstract
def
value: A
Returns the current value of this Binding
Returns the current value of this Binding
- Note
This method must not be invoked inside a
@dom
method body or aBinding { ... }
block..
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- def ->[B](y: B): (Binding[A], B)
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
final macro
def
bind: A
Returns the current value of this Binding and marks the current
@dom
method depend on this Binding.Returns the current value of this Binding and marks the current
@dom
method depend on this Binding.Each time the value changes, in the current
@dom
method, all code after the currentbind
expression will be re-evaluated if the current@dom
method is watching. However, code in current@dom
method and before the currentbind
expression will not be re-evaluated. The above rule is not applied to DOM nodes created by XHTML literal. Abind
expression under a DOM node does not affect siblings and parents of that node.- Note
This method must be invoked inside a
@dom
method body or aBinding { ... }
block..
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
- def ensuring(cond: (Binding[A]) ⇒ Boolean, msg: ⇒ Any): Binding[A]
- def ensuring(cond: (Binding[A]) ⇒ Boolean): Binding[A]
- def ensuring(cond: Boolean, msg: ⇒ Any): Binding[A]
- def ensuring(cond: Boolean): Binding[A]
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- def formatted(fmtstr: String): String
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
unwatch(): Unit
Disable automatic recalculation.
Disable automatic recalculation.
- Annotations
- @inline()
- Note
This method is recursive, which means that the dependencies of this Binding will be unwatched as well.
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
watch(): Unit
Enable automatic recalculation.
Enable automatic recalculation.
You may invoke this method more than once. Then, when you want to disable automatic recalculation, you must invoke unwatch same times as the number of calls to this method.
- Annotations
- @inline()
- Note
This method is recursive, which means that the dependencies of this Binding will be watched as well.
- def →[B](y: B): (Binding[A], B)