应用程序基础之02-应用程序组件篇(一)

React 基础篇(一) 是一个声明式,高效且灵活的用于构建用户界面的 JavaScript 库。使用 React 可以将一些简短、独立的代码片段组合成复杂的 UI 界面,这些代码片段被称作“组件”。 阅读详情
应用程序基础之02-应用程序组件篇(一)


应用程序组件是一个Android应用程序关键的基石。每一个组件都是系统进入应用程序的不同入口点。对用户而言,并不是所有的组件都是实际入口点,它们之间有一些依赖,但是每一个组件的存在都有它自己的入点,并且扮演着一个特定的角色---每一个组件都是独一无二的构建模块,帮助定义你的应用的整体行为。

有四个不同类型的应用组件。每一种类型都完成特定的目的,每种类型都有一个不同的生命周期来定义该组件的创建和销毁。


下面是这四种类型组件的介绍:

Activitys
一个activity显示一个屏幕,代表一个用户接口(视图)。例如,一个邮件应用会有一个activity展示新邮件列表,一个activity用来写邮件,另一个activity用于读取邮件。在一个邮件应用中尽管所有的activity一起工作形成一个完整的用户体验,但是每一个activity之间却是相互独立的。正因为如此,一个不同的应用可以启动该邮件应用的这些activity中的任意一个(前提是邮件应用允许)。例如,一个照相应用可以启动邮件的一个activity来发送新的邮件,来让用户分享一个图片。

每一个activity被作为Activity类的子类来实现,你可以在开发指南中的“Activitys”章节了解到更多。

Services
service是运行在后台的组件,它一般执行长时间的操作或者执行远程进程工作。一个service不提供用户接口(视图)。例如,当用户在使用另一个不同应用时,一个service可能在后台播放音乐;或者在不妨碍用户互动的情况下通过网络抓取数据。其它的组件(比如一个activity)可以启动一个service,让它单独运行或者绑定到这个activity以便进行交互操作。

每一个service被作为Service类的子类来实现,你可以在开发指南中的“Service”章节中了解到更多。

Content providers
content provider管理一组共享的应用程序数据集。你可以将数据储存在文件系统、SQLite数据库、网络或者任何其它你的应用可以访问到的持久存储位置。通过content provider,其它的应用可以请求甚至编辑共享的数据(前提是content provider允许)。例如,Android系统提供一个content provider来管理用户的通讯信息。因此,任何拥有合理权限的应用都可以查询content provider的部分数据来读取和写入关于某个人的信息。

content provider对于读取或者写入应用的私有不分享数据也是非常有帮助的,例如Note Pad应用便是用一个content provider来保存笔记的。

每一个content provider被作为ContentProvider类的子类来实现,并且必须实现一组标准的APIs以便使其它应用执行交换操作。关于content provider更多的信息,请看开发指南中“Content Provider”章节。

Broadcast receivers
broadcast receivers是一个响应系统广播通知的组件。很多广播都来源于系统,例如屏幕关闭、电量过低或者图片被捕获等。应用程序也能发起广播,例如让其他应用程序知道一些数据已经下载到设备,并且它们可以使用了。尽管broadcast receivers不能显示用户接口(视图),但是当一个广播事件发生时它们可以创建一个状态栏通知来提醒用户。但是大多数情况下,一个broadcast receivers 仅仅是进入其他应用组件的一个途径,并且只做极少量的工作。例如,一个broadcase receivers会基于某个事件启动一个service来完成相应的工作(译者注:整个过程中broadcast receivers所做的仅仅是启动一个service,大部分工作却由service完成)。

broadcast receivers作为Broadcast receivers类的子类被实现,每一个广播作为一个Intent对象传递。更多详细信息请关注BroadcastReceivers类。


转载请注明:大飞_Rflyee:http://blog.youkuaiyun.com/rflyee/article/details/14046397



android应用程序的五大基本组件 立即下载

相关推荐

滤波算法-呼吸心跳信号检测方法(四)

呼吸心跳信号检测系列文章:信号滤波处理

yjh_2019的博客 6273

揭秘--组件的概念及应用

组件的概念及实际应用 最近由于公司在用AngularJS,最近就把关于这方面的知识都整理了一遍,就最近遇到的组件问题给大家说一下 都少走一点弯路~ 平时我们所看到的网页中,有很多HTML页面中都只有很少的标签,但却很炫酷,感觉同样也实现了很多效果。那这个页面就使用了今天要说的组件,我们平时在项目开发中也是会经常运用到的一个很重要的东西。 组件的概念  组件的概念是在

Drenched的博客 521

Python + Google AI 自动修复 Sonar Bug 实践

在工作中总会遇到种种不期而至的需求,比如前段时间突然要修复所有 Sonar Bug,涉及各种琐碎的代码风格问题,包括但不限于语法不规范、废弃注释等问题。这些项目都已经持续开发几年了,Sonar 上的问题层出不穷,各种问题已经累积到了上万个,手动修复不但费时费力,而且过程异常枯燥。

子洋 Blog 2417

面向对象的程序设计与面向组件的关系

 所有的软件技术和思想的出现都是为了解决所在的那个年代软件开发的复杂性,对象技术和组件技术也不例外。当然还有很多其它技术,像DBC(契约式编程)、AOP、MDA等,这些思想都在影响我们设计/实现程序的方式,但无可否认的是,当今最主流的编程技术是对象技术和组件技术。面向对象技术已经成熟的发展将近20年了,关于这方面的经典书籍和论文也随处可见。为了解决更大的系统的复杂度,组件技术应运而生,在win

码农之道 1003

雪球股票数据接口

周期(day-日,week-周,…表示获取前8个周期(日)数据):类型(before-历史)表示深圳证券交易所,表示上海证券交易所):开始时间戳(一定要。

qq_31856061的博客 6808

【游戏开发】初识寻路&navmesh,探索RecastDemo

在手游时代,尤其对于大世界游戏而言,寻路的实现基本在专门的寻路服务器上进行。在众多寻路的解决方案中,recastnavigation是最为经典实用的一个,很多游戏甚至游戏引擎都采用类似的实现。recastnavigation项目自带了RecastDemo,用图形化的界面帮助用户认识寻路网格(navmesh)的生成以及寻路的过程。因此,作为初学者的笔者,也决定通过RecastDemo去初步认识寻路的机理奥秘。 构建RecastDemo 首先克隆recastnavigation项目,从文档中可以看到Recast

HiKariのTechLab 3057

微信小程序组件之间通信以及自定义组件之间的关系

首先我们自已写了一个组件假如叫(tab-bar)自定义组件给外部暴露一个方法并把组件内的数据传递过去 可以下面写法 <view> <view bindtap="handleClickItem" data-key="{{ key }></view> </view> 上面是一个自定义组件的一个UI里面绑定了一个点击事件handleClick...

qq_35651451的博客 5050

从YOLOv8到RTDETR:如何将训练后的YOLO指标无缝转换为COCO格式

本文详细介绍了如何将训练后的YOLOv8指标无缝转换为COCO格式,特别适用于RTDETR模型的评估。通过数据准备、指标转换流程和实际项目经验,帮助开发者解决YOLO与COCO指标差异问题,提升模型评估的准确性和权威性。

weixin_29085151的博客 378

微信小程序页面与组件之间的联系,页面怎么用组件

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33739646的博客 1831

2026实战:YOLOv11融合Swin Transformer,小目标检测精度暴涨47%

本文针对工业零件微小缺陷检测难题,提出了一种CNN与Transformer的最优融合方案。作者发现直接替换YOLOv11骨干网络为Swin Transformer会导致速度骤降69%而精度仅提升2.1%。通过大量实验,总结出三项核心设计原则:1)CNN为主、Transformer为辅;2)高层插入、浅层保留;3)模块化融合。最终提出三种渐进式融合方案,其中骨干部分替换方案(方案二)实现了小目标检测精度提升47%,推理速度仅下降8%的优异表现。文章详细解析了Swin Transformer的核心原理,提供了完

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 514

Python 爬虫实战:亚马逊 + eBay 商品信息跨平台抓取(价格 / 销量 / 评价对比)

亚马逊和 eBay 是全球知名的电商平台,拥有海量的商品信息。对于消费者来说,比较不同平台上的商品价格、销量和用户评价可以帮助他们找到性价比最高的商品。对于商家而言,了解竞争对手的商品信息有助于优化自身的产品策略和定价策略。然而,手动在两个平台上逐一比较商品信息是非常耗时且低效的。因此,开发一个能够自动抓取并对比这两个平台商品信息的爬虫工具具有重要的实际意义。

yansideyucsdn的博客 617

小程序 模板和组件的使用和区别

不得不说微信小程序的官方文档还是有很多坑啊(⊙﹏⊙)使用模板和组件的目的:实现代码复用template(模板)相对于component而言,template更加轻量级,它的功能有限,主要是用于展示。模板只有两个以.wxml 和.wxss结尾的文件定义模板新建一个与pages同级的文件夹 => templates,在templates下创建templateItem文件夹,然后在这个文件夹里创建...

weixin_34223655的博客 2817

手把手教你学Simulink--基于多能源系统协同控制的复杂场景实例:氢燃料电池+锂电池混合动力电动汽车能量管理仿真

本文介绍了基于Simulink的氢燃料电池与锂电池混合动力电动汽车能量管理系统的建模与仿真方法。系统包含驾驶循环输入、燃料电池子系统、锂电池子系统、能量管理、电机驱动等模块,通过协同控制优化能源分配。详细说明了从模型创建到各子系统设置的7个步骤,并提供了MATLAB代码示例。该仿真可评估不同工况下的系统响应速度、能量利用效率和电池寿命等性能指标,为混合动力汽车的能量管理策略设计和优化提供参考。

MHD0815的博客 239

【React入门必备知识篇02】--- React 组件基础

前言 ❤️ 我们,坠落破碎,掉入深渊,但我们终会被托起,被治愈,所有我们无所畏惧 ❤️

battledao的博客 2296

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Harmony OS Next应用开发基础篇(一)-组件

本文主要介绍了鸿蒙基础篇中的组件综合相关知识,包括鸿蒙中常用的尺寸单位,如 px、vp 和 fp,以及修改字体颜色的方法,如在 XML 布局文件中直接设置、在代码中动态修改、使用主题和根据不同状态设置等。还提及了组件之间的交互与通信,如通过事件机制、属性传递等方式实现信息共享和协同工作。最后以鼓励和期待读者在鸿蒙开发中取得进步的话语作为结束。

2401_88463044的博客 1928

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Flutter | 基础组件篇

Flutter项目结构由核心目录(lib/)、测试目录(test/)和Web支持目录(web/)组成。lib/存放主要源代码,包括入口文件main.dart;test/用于单元测试与集成测试;web/提供Web平台支持。pubspec.yaml是项目的核心配置文件,管理依赖与资源。基础组件包括MaterialApp(定义应用主题)、Scaffold(提供页面框架结构)以及状态组件(StatelessWidget和StatefulWidget)。StatefulWidget通过分离状态管理和UI渲染

大胆尝试,小心实践 1958

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

应用程序基础之02-应用程序组件篇(二)

应用程序基础之02-应用程序组件篇(二) Android系统设计的一个独一无二的方面是任何一个应用都可以启动其他应用中的组件。例如,如果你想让用户使用设备的相机拍摄一张图片,可能有其他应用已经完成了此项功能,那么你的应用就可以直接使用此功能,而不用自己再次开发一个activity去拍摄图片。你的应用中不需要包含甚至不需要连接相机应用中的代码。反而,你可以简单地启动相机应用的一个activit

吧啦吧啦F 1532

02、SwiftUI 基础视图组件

本文主要介绍了 SwiftUI 中的一些常用组件及组件修饰方法,还包括时间格式化和网页容器的使用。对于简单的组件建议去官网查看示例,本文详细描述了特殊组件的使用。

编程是一门实践技术 1580

Vue基础篇二:Vue组件的核心概念

系列文章目录 Vue基础篇一:编写第一个Vue程序 Vue基础篇二:Vue组件的核心概念 文章目录系列文章目录一、Vue组件的组成--属性二、Vue组件的组成--事件二、Vue组件的组成--插槽总结 一、Vue组件的组成–属性 属性可分为: 自定义属性 props export default { <!-- 属性todo,list,isVisible --> props: { todo: Object, list: { type: Array,

我的博客 2296

android的应用程序组件,Android基础学习:应用组件

应用组件是一个Android应用程序的基本构建块。这些组件是松耦合的应用程序清单文件AndroidManifest.xml中介绍了每种组件的应用程序,以及它们如何相互作用。有以下四个主要组成部分,可用在一个Android应用程序:组件描述Activities他们决定了用户界面和处理用户交互,智能手机的屏幕Services他们处理与应用程序相关的后台处理。Broadcast Receivers他们处...

weixin_39619893的博客 238

React Native 基础组件详解<一>

3)keyboardShouldPersistTaps:当键盘拉起时,点击滚动区域键盘是否消失 never(消失)/always(不消失)/handled(消失)handled:点击按钮,键盘不会收起,Button的onPress直接执行,点击滚动区域的非按钮部分,键盘收起。2)keyboardDismissMode:当键盘拉起时,滚动键盘是否消失 on-drag(消失)4)overScrollMode:滚动到头,能否拉动 never(不能)/always(能)

hanchengmei的博客 987

Vue 框架的组件模块之基础 UI 组件深入分析(一)

本文深入分析了 Vue 框架中基础 UI 组件的实现原理、使用方法和源码细节。通过详细的代码示例和源码解读,我们了解了如何在 Vue 项目中创建、定制和使用按钮、输入框和下拉框等基础 UI 组件,以及如何处理组件之间的交互和状态管理。同时,我们还探讨了基础 UI 组件的性能优化和兼容性问题。在按钮组件方面,我们实现了简单按钮和扩展按钮,通过props传递属性,methods处理事件,以及computed计算属性来动态设置样式。输入框组件实现了基本的输入功能和输入验证,通过v-model双向绑定和自定义。

Android开发领域创作者 1324

Vue组件—基础篇

全局注册的组件可以在全局组件或者局部组件中使用局部注册的组件不能被其他组件使用;除非你把局部组件又注册到其他组件中注册号的组件可以像一个普通标签一样,重复使用组件接受与 Vue.createApp 相同的选项,例如 data、computed、watch、methods 以及生命周期钩子等别忘了,最大的根组件就是vue实例,所以在vue实例中的方法和属性,在组件中同样可以使用,它们一模一样。

Zbz00720的博客 1150

应用程序基础及组件

Android开发之旅:应用程序基础及组件2010-04-16 17:19 by 吴秦引言为了后面的例子做准备,本篇及接下来几篇将介绍Android应用程序的原理及术语,这些也是作为一个Android的开发人员必须要了解,且深刻理解的东西。本篇的主题如下:1、应用程序基础2、应用程序组件 2.1、活动(Activities)2.2、服务(Services)2.3、广播接收者(Broadcast receivers)2.4、内容提供者(Content providers)因为这些内容比较理论,且没有用例子来

pwair的专栏 678

每日一VUE——组件基础

结合使用v-model和自定义事件时,通常不需要在父组件中使用指令来监听子组件的自定义事件,因为v-model已经处理了数据的双向绑定。在父组件中使用v-model绑定到子组件时,Vue会自动将v-model绑定的值与子组件的某个属性同步,并在内部使用一个名为==加上属性名的事件==来通知子组件更新其属性值。

m0_66925868的博客 2561
上一篇: 应用程序基础之01序论
下一篇: 应用程序基础之02-应用程序组件篇(二)
Rflyee
博客等级 码龄14年 56粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值