国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

flutter使用getx進(jìn)行數(shù)據(jù)狀態(tài)管理,實(shí)現(xiàn)頁(yè)面響應(yīng)式

這篇具有很好參考價(jià)值的文章主要介紹了flutter使用getx進(jìn)行數(shù)據(jù)狀態(tài)管理,實(shí)現(xiàn)頁(yè)面響應(yīng)式。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

無(wú)論是什么樣的應(yīng)用,都還是需要最基礎(chǔ)的數(shù)據(jù)來(lái)支撐的,而且不同的頁(yè)面之間可能需要共享數(shù)據(jù)狀態(tài),這就顯得數(shù)據(jù)狀態(tài)管理非常有必要了。因?yàn)槲疫@里使用了get依賴庫(kù),所以就可以直接在項(xiàng)目中使用getx來(lái)管理狀態(tài),不想再使用別的框架了。而且getx使用起來(lái)也挺方便的。

在flutter中文網(wǎng)里面還是有許多狀態(tài)管理依賴庫(kù)推薦的:狀態(tài) (State) 管理參考 - Flutter 中文文檔 - Flutter 中文開(kāi)發(fā)者網(wǎng)站 - Flutter

但是我這里就講一下getx的使用,很簡(jiǎn)單,三步就可以完成使用。

get依賴包地址:get | Flutter Package

添加get依賴

在pubspec.yaml文件中添加所需要的第三方依賴庫(kù):

dependencies:
  flutter:
    sdk: flutter


  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.
  cupertino_icons: ^1.0.2
  get: ^4.6.6

?

創(chuàng)建store

在項(xiàng)目目錄下面創(chuàng)建stores文件夾,用來(lái)管理全局的數(shù)據(jù)狀態(tài),可以通過(guò)分類將不同的狀態(tài)封裝在不同的dart文件中:

flutter使用getx進(jìn)行數(shù)據(jù)狀態(tài)管理,實(shí)現(xiàn)頁(yè)面響應(yīng)式,多端開(kāi)發(fā),flutter

例如user.dart源代碼:

import 'package:get/get.dart';

class UserInfo extends GetxController {
  // 用戶名字
  var name = "".obs;

  // 用戶密碼
  var passwd = "".obs;

  // 用戶年齡
  var age = 0.obs;

  // 用戶權(quán)限
  var power = [].obs;

  // 以下為周期函數(shù)
  @override
  void onInit() {
    print('onInit');
    super.onInit();
  }

  @override
  void onClose() {
    // 控制器綁定在路由上的話,路由銷(xiāo)毀則觸發(fā)
    print('onClose');
    super.onClose();
  }

  @override
  void onReady() {
    print('onReady');
    super.onReady();
  }

  // 增加狀態(tài)管理的數(shù)值
  void addAge() {
    age.value++;
    update(); // 調(diào)用obx更新數(shù)據(jù),不然數(shù)據(jù)不會(huì)更新
  }

  // 減少狀態(tài)管理的數(shù)值
  void setName(String val) {
    name.value = val;
    update();
  }

  // 修改用戶密碼
  void setPasswd(String pw) {
    passwd.value = pw;
    update();
  }

  // 配置用戶權(quán)限
  void addPower(pws) {
    var pwsTemp = [...power, ...pws];
    power.value = pwsTemp;
  }

  // 清空狀態(tài)數(shù)據(jù)
  void clear() {
    name.value = "";
    passwd.value = "";
    age.value = 0;
    power.value = [];
  }
}

在頁(yè)面中引用?

在main.dart中使用GetMaterialApp創(chuàng)建的app才可以哦,使用后就可以到頁(yè)面中引入并使用了,直接使用即可,注意需要引入get:

import 'package:get/get.dart';


UserInfo user = Get.put(UserInfo());

flutter使用getx進(jìn)行數(shù)據(jù)狀態(tài)管理,實(shí)現(xiàn)頁(yè)面響應(yīng)式,多端開(kāi)發(fā),flutter

如果想在頁(yè)面中使用這個(gè)狀態(tài)數(shù)據(jù):

Obx(() => Text("${user.age}")),

想要點(diǎn)擊按鈕設(shè)置里面的值:直接調(diào)用里面的方法就好

            ElevatedButton(
                onPressed: () {
                  print("添加Powers");
                  user.addPower([10]);
                },
                child: Text("添加Power:10")),

?

比如我在登錄頁(yè)面添加用戶名和密碼,到首頁(yè)就可以看到我的那些數(shù)據(jù):

flutter使用getx進(jìn)行數(shù)據(jù)狀態(tài)管理,實(shí)現(xiàn)頁(yè)面響應(yīng)式,多端開(kāi)發(fā),flutter

首頁(yè)展示數(shù)據(jù):

flutter使用getx進(jìn)行數(shù)據(jù)狀態(tài)管理,實(shí)現(xiàn)頁(yè)面響應(yīng)式,多端開(kāi)發(fā),flutter?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-813478.html

到了這里,關(guān)于flutter使用getx進(jìn)行數(shù)據(jù)狀態(tài)管理,實(shí)現(xiàn)頁(yè)面響應(yīng)式的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Flutter GetX的使用

    Flutter GetX的使用

    比較強(qiáng)大的狀態(tài)管理框架 引入庫(kù): 實(shí)現(xiàn)一個(gè)計(jì)數(shù)器功能 代碼如下: 1.狀態(tài)管理 Get 有兩種不同的狀態(tài)管理器:簡(jiǎn)單狀態(tài)管理器(我們稱之為 GetBuilder)和反應(yīng)式狀態(tài)管理器(GetX/Obx) 使用 Get 進(jìn)行響應(yīng)式編程與使用 setState 一樣簡(jiǎn)單。 要使其可觀察,您只需在其末尾添加“.

    2024年02月05日
    瀏覽(18)
  • Flutter GetX使用詳解

    GetX是一款功能強(qiáng)大且輕量級(jí)的Flutter狀態(tài)管理和路由管理庫(kù)。它提供了一種簡(jiǎn)單而強(qiáng)大的方式來(lái)構(gòu)建Flutter應(yīng)用程序,無(wú)需大量的模板代碼。GetX不僅提供了狀態(tài)管理和路由管理,還包括其他實(shí)用工具,如國(guó)際化和依賴注入。 在本文中,我們將深入探討GetX的核心功能,并通過(guò)實(shí)

    2024年02月08日
    瀏覽(21)
  • Flutter GetX使用

    下載地址: https://pub-web.flutter-io.cn/packages/get 導(dǎo)入依賴: 導(dǎo)入頭文件: 創(chuàng)建全局?jǐn)?shù)據(jù) Counter ,繼承 GetxController : 添加依賴: 添加組件 Obx() ,監(jiān)聽(tīng)顯示數(shù)據(jù): 改變數(shù)據(jù): 創(chuàng)建全局?jǐn)?shù)據(jù) MyController 繼承 GetxController : 添加依賴: 添加組件 GetBuilderT : 在添加的依賴是全局的,考

    2024年02月16日
    瀏覽(22)
  • flutter getx 簡(jiǎn)單使用教程

    所以Flutter使用GetX真的很不錯(cuò) 為什么說(shuō)什么GetX好用呢? 1、依賴注入 GetX是通過(guò)依賴注入的方式,存儲(chǔ)相應(yīng)的XxxGetxController;已經(jīng)脫離了InheritedWidget那一套玩法,自己手動(dòng)去管理這些實(shí)例,使用場(chǎng)景被大大拓展 2、跨頁(yè)面交互 這絕對(duì)是GetX的一個(gè)優(yōu)點(diǎn)!對(duì)于復(fù)雜的生產(chǎn)環(huán)境,跨

    2024年02月08日
    瀏覽(18)
  • Flutter GetX 實(shí)現(xiàn) ChatGPT 簡(jiǎn)單聊天界面

    Flutter 是一款跨平臺(tái)的移動(dòng)應(yīng)用開(kāi)發(fā)框架,而 GetX 是 Flutter 中一種簡(jiǎn)單易用的狀態(tài)管理和路由管理工具。本篇我們將使用 Flutter 和 GetX 實(shí)現(xiàn)一個(gè)簡(jiǎn)單的聊天界面,以與 ChatGPT 進(jìn)行交互。 我們需要在 Flutter 項(xiàng)目中引入 GetX 庫(kù)。在 pubspec.yaml 文件中添加以下依賴: 在 main 函數(shù)中添

    2023年04月17日
    瀏覽(23)
  • 【Flutter】Flutter 狀態(tài)管理 Provider 包使用概述

    ??想要精通 Flutter,掌握更多技巧和最佳實(shí)踐?好消息來(lái)了!?? Flutter專欄-Flutter Developer 101 入門(mén)小冊(cè) 正在等你!?? ??這里有你需要的所有 Flutter 學(xué)習(xí)資源,包括代碼示例和深度解析。?? ?專欄內(nèi)容持續(xù)更新,價(jià)格也會(huì)隨之上漲?,F(xiàn)在加入,享受最優(yōu)惠的價(jià)格!?? ??現(xiàn)

    2024年02月09日
    瀏覽(23)
  • Flutter中GetX系列六--GetxController/GetView使用詳情

    在實(shí)際的項(xiàng)目開(kāi)發(fā)過(guò)程中,我們不可能把UI代碼、業(yè)務(wù)邏輯都放在一起處理,這樣對(duì)項(xiàng)目的架構(gòu)、代碼的可讀性、后期的維護(hù)將會(huì)是致命的,好在 GetX 為我們提供了 GetxController , GetxController 主要的作用是用于UI代碼與業(yè)務(wù)邏輯分離開(kāi)來(lái)。 這里主要講解使用 GetxController 動(dòng)態(tài)獲取

    2024年02月10日
    瀏覽(25)
  • Flutter筆記:GetX模塊中不使用 Get.put 怎么辦

    Flutter筆記 GetX模塊中不使用 Get.put 怎么辦 作者 : 李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 郵箱 : 291148484@163.com 本文地址 :https://blog.csdn.net/qq_28550263/article/details/134006728 依賴注入(Dependency Injection,DI)是一種編程模式,它旨在管理和注入類之間的依賴關(guān)系,以提高代碼

    2024年02月08日
    瀏覽(16)
  • Vue使用 Pinia 進(jìn)行狀態(tài)管理

    Pinia 是一個(gè)適用于 Vue.js 的狀態(tài)管理庫(kù),它采用了組合式 API 的理念,使得狀態(tài)管理變得更加簡(jiǎn)單、直觀和靈活。與傳統(tǒng)的 Vuex 相比,Pinia 提供了更好的 TypeScript 支持,同時(shí)也更加適合大型應(yīng)用程序和復(fù)雜狀態(tài)邏輯的管理。 首先,我們需要在 Vue 項(xiàng)目中安裝 Pinia。你可以通過(guò)

    2024年02月13日
    瀏覽(37)
  • 【Flutter】Flutter GetX 傳遞參數(shù)

    在 Flutter 開(kāi)發(fā)中,狀態(tài)管理和數(shù)據(jù)傳遞是兩個(gè)非常重要的環(huán)節(jié)。今天,我們將介紹一個(gè)強(qiáng)大的庫(kù)——GetX,它可以幫助我們更高效地進(jìn)行狀態(tài)管理和數(shù)據(jù)傳遞。本文的重點(diǎn)包括: 了解 GetX 是什么以及它的主要功能 學(xué)習(xí)如何在 Flutter 中安裝和使用 GetX 掌握如何使用 GetX 進(jìn)行參數(shù)

    2024年02月05日
    瀏覽(19)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包