-
-
Save AbbasHoseini/db6691e4908f99d00a6490730bae4ef6 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class CartModel extends ChangeNotifier { | |
/// Internal, private state of the cart.=> استیت داخلی، خصوصی سبد خرید | |
final List<Item> _items = []; | |
/// An unmodifiable view of the items in the cart. =>موارد غیر قابل تغییر در آیتم های سبدخرید | |
UnmodifiableListView<Item> get items => UnmodifiableListView(_items); | |
/// قیمت کلی فعلی همه اقلام -با فرض اینکه هزینه تمام اقلام 42 دلار است | |
int get totalPrice => _items.length * 42; | |
/// اضافه کردن آیتم به سبد خرید. این(یعنی پاک کردن همه موارد) تنها راه برای اصلاح از خارج از سبد خرید است. | |
void add(Item item) { | |
_items.add(item); | |
// این فراخوانی به همه ی ویجت هایی که به این مدل گوش میدهند میگویند که دوباره بسازند | |
notifyListeners(); | |
} | |
/// پاک کردن تمام موارد در آیتم های سبدخرید | |
void removeAll() { | |
_items.clear(); | |
// این فراخوانی به همه ی ویجت هایی که به این مدل گوش میدهند میگویند که دوباره بسازند | |
notifyListeners(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment