@cabloy/front-element is a vue3 framework with ioc container. With the support of ioc container, defining reactive states no longer needs ref/reactive
, nor ref.value
@cabloy/front-element has introduced the following distinct features for Vue3:
-
No ref/reactive
: With the support of ioc container, defining reactive states no longer needsref/reactive
-
No ref.value
: Withoutref
, naturally there is no need to write a lot ofref.value
-
Modularization
: In a large web business system, as the business grows and changes, it is also necessary to divide the system into relatively independent modules in order to avoid code bloating. This is why Cabloy-Front introduces modularization
Define a reactive variable count
in the component and add two methods to modify its value
export class ControllerPageCounter {
count: number = 0;
inrement() {
this.count++;
}
decrement() {
this.count--;
}
}
Use count
in render class
export class RenderPageCounter {
render() {
return (
<div>
<div>count(ref): {this.count}</div>
<button onClick={() => this.inrement()}>Inrement</button>
<button onClick={() => this.decrement()}>Decrement</button>
</div>
);
}
}
Create a Counter
Bean to implement the logic of count
@Local()
export class Counter {
count: number = 0;
inrement() {
this.count++;
}
decrement() {
this.count--;
}
}
export class ControllerPageCounter {
@Use()
$$counter: Counter;
}
export class RenderPageCounter {
render() {
return (
<div>
<div>count(ref): {this.$$counter.count}</div>
<button onClick={() => this.$$counter.inrement()}>Inrement</button>
<button onClick={() => this.$$counter.decrement()}>Decrement</button>
</div>
);
}
}
Copyright (c) 2016-present, CabloyJS