import { VNode } from "../VNode"; import { VBindingsPreparer } from "../VBindingsPreparer"; import { VDirective } from "./VDirective"; import { VDirectiveParseContext } from "./VDirectiveParseContext"; import { VDOMUpdater } from "../VDOMUpdater"; /** * Directive for binding dynamic attributes to DOM elements. * The `v-bind` directive allows you to bind HTML attributes to expressions in your data model. * The syntax for using the `v-bind` directive is `v-bind:attribute="expression"`, where `attribute` is the name of the HTML attribute you want to bind (e.g., `src`, `href`, `class`, etc.), and `expression` is a JavaScript expression that evaluates to the value you want to assign to that attribute. * Example usage: * * The value of `imageSrc` should be defined in the component's data object. * When the value of `imageSrc` changes, the `src` attribute of the `` element will automatically update to reflect the new value. * This directive is particularly useful for dynamically updating attributes based on user interactions or other data changes in your application. * It helps keep the DOM in sync with the underlying data model, making it easier to build reactive user interfaces. * The `v-bind` directive can also be used with shorthand syntax using a colon (:). * For example, `:src="imageSrc"` is equivalent to `v-bind:src="imageSrc"`. * This shorthand syntax is often used for brevity and improved readability in templates. * Overall, the `v-bind` directive is a powerful tool for creating dynamic and responsive web applications by allowing seamless integration between the data model and the DOM. */ export declare class VBindDirective implements VDirective { #private; /** * @param context The context for parsing the directive. */ constructor(context: VDirectiveParseContext); /** * @inheritdoc */ get name(): string; /** * @inheritdoc */ get vNode(): VNode; /** * @inheritdoc */ get needsAnchor(): boolean; /** * @inheritdoc */ get bindingsPreparer(): VBindingsPreparer | undefined; /** * @inheritdoc */ get domUpdater(): VDOMUpdater | undefined; /** * @inheritdoc */ get templatize(): boolean; /** * @inheritdoc */ get dependentIdentifiers(): string[]; /** * Indicates if this directive is binding the "key" attribute. * The "key" attribute is special and is used for optimizing rendering of lists. * If this directive is binding the "key" attribute, it will be handled by the VForDirective. */ get isKey(): boolean; /** * Indicates if this directive is binding the "options" attribute or any of its sub-properties (e.g., "options.intersection"). * The "options" attribute is special and is used for passing options to certain directives like VIntersectionDirective. */ get isOptions(): boolean; /** * Gets the name of the attribute being bound (e.g., "src", "class", "options", "options.intersection"). */ get attributeName(): string | undefined; /** * Gets the original expression string from the directive. */ get expression(): string | undefined; /** * @inheritdoc */ get onMount(): (() => void) | undefined; /** * @inheritdoc */ get onMounted(): (() => void) | undefined; /** * @inheritdoc */ get onUpdate(): (() => void) | undefined; /** * @inheritdoc */ get onUpdated(): (() => void) | undefined; /** * @inheritdoc */ get onUnmount(): (() => void) | undefined; /** * @inheritdoc */ get onUnmounted(): (() => void) | undefined; /** * @inheritdoc */ destroy(): void; }