我正在阅读Core JavaServer Faces,我正在处理事件处理.它表示如果一个组件的immediate = true(比如一个按钮),当我们点击那个按钮时,进程验证和调用JSF生命周期的应用程序面将会提前完成.这是什么意思?任何机构都可以向我解释在每个阶段中立即=真实会影响到什么吗?我很迷惑.
谢谢.
我不能为我的生活弄清楚如何在按下后退按钮后刷新活动.我目前有活动A触发意图转到B,而在行动B,如果你按回我想要回到行动A但让它刷新自己.我可以使用此意图来刷新当前的活动:
Intent refresh = new Intent(this, Favorites.class);
startActivity(refresh);
this.finish();
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何正确使用onResume()函数来恢复我的行为A.
我正在开发我的第一款Android应用.它有一个模型,在用户进行更新时持久保存到数据库.
当onSaveInsanceState被调用时,我想保存,可以用来加载用户已经从数据库中处理文档的ID.但这只能在文档完全访问数据库后才会发生.在某些情况下,持久化复杂的文档可能需要几秒钟(我希望一旦我完成所有详细的注销,这将加速,并且在实际使用中,用户将分阶段构建复杂的文档,每个文档都是将被保存到数据库中,因此复杂文档不太可能一次性保存.
现在,Android上线程的#1规则是"不要阻止UI线程",所以当然数据库交互发生在一个单独的线程上.但我对Android生命周期的理解是,在许多情况下,调用onSaveInstanceState是因为Android系统想要终止进程.这表明我不能允许这个方法返回,直到数据库线程完成保存文档(实际上我的当前设计,我实际上不知道文档的ID号是什么,直到它被保存到数据库,所以我甚至不能把它放在保存状态的束中).
在这些情况下是否适合阻止等待执行持久性任务的UI线程?当onSaveInstanceState因为进程被杀死而被调用时,应用程序在前台不再可见,因此没有任何界面无法响应.
但是onSaveInstanceState当Activity实例被配置更新破坏时也会调用,当屏幕方向发生变化时会发生这种情况.横向旋转屏幕几秒钟后无法做任何事情是非常不幸的.在这种情况下,进程(以及因此内存空间)仍然存在,因此我不需要确保文档命中数据库,如果我只能在Bundle中存储对它的引用而不是它的id.但我不知道如何区分这两种情况.
这些情况是否有公认的做法?我应该阻止线程安全吗?我可以使用普通的Java线程原语来阻止和等待吗?有什么我可以做的不会阻止线程,但确保在Android关闭进程之前完成持久性任务?
所有这些也适用于onPause,onSaveInstanceState不一定会被称为.
我是这个世界的新手,我需要了解Backbone和Marionette的一些概念.在这里,我试图解释一些我正在学习的概念.对它们进行一些反馈会很棒.
该render函数定义了呈现模板的逻辑.完成后,将onRender调用回调.这里我假设渲染的视图没有附加到DOM.它由一个tagName(默认值div)组成,其中包含我附加到它的模板.要将该标记显式插入DOM,我需要将其附加到某处.我错了吗?
一般来说,我会做以下事情.
var view = new MyView();
view.render();
$("container").append(view.$el);?
Run Code Online (Sandbox Code Playgroud)
Marionette使用区域概念扩展了Backbone.show可以在区域上调用该方法以呈现特定视图.
var view = new MyView();
region.show(view);
Run Code Online (Sandbox Code Playgroud)
在这种情况下,该show方法将自己调用该render函数,最后,当视图的内容将被放入DOM中时,将在该视图上调用该函数onShow.好吗?
从Marionette doc开始,还有一个叫做回调的回调onDomRefresh.从我的实验中,我注意到之前调用过此方法onShow.所以,我的假设是视图尚未附加到DOM.但该文件说明如下.
在渲染视图后触发,已经通过Marionette.Region显示在DOM中,并且已经重新渲染.
你能给它一些提示吗?
提前致谢.
我正在尝试根据ReactElement的生命周期找到一种执行动画的方法,在组件刚刚安装时动画很容易,但是在组件卸载之前我会做另一个动画.
我不能真正使用ReactCSSTransitionGroup,因为它不会使用RequestAnimationFrame.
只是为了描述我的情况,我的组件是侧边栏,我可以根据一些用户的输入切换开/关.
var Sidebar = React.createClass({
componentDidMount: function() {
var menuUfeWidth = $('.menu-ufe').width();
$(this.getDOMNode()).transition({x: menuUfeWidth}, Utils.animationDuration * 2, 'snap');
},
render: function() {
return (
<div className={'leaflet-sidebar left'}>
<div className={'ufe-content'} />
</div>
);
}
});
Run Code Online (Sandbox Code Playgroud)
我想知道如何在组件卸载之前完成动画.
这两个功能有什么区别吗?(除了他们的论点)似乎那些方法有相同的触发器,不是吗?
感谢您的帮助 :)
我正在使用Vue Resource从REST API检索图像集合.请求在created我的Vue组件的钩子中发送.
问题是,我正在尝试访问mounted钩子中检索到的数据,但是没有加载数据.
我在控制台中收到此错误:
[Vue警告]:挂钩时出错:"TypeError:无法读取属性'forEach'未定义"
这是我的组件:
<script>
export default {
data() {
return { imgs : '' };
},
created() {
// the full url is declare in my main.js
this.imgs = this.$resource('acf/v3/pages/4');
this.imgs.query().then((response) => {
console.log('success', response);
this.imgs = response.data.acf.gallery;
}, (response) => {
console.log('erreur', response);
});
},
mounted() {
// get the ref="image" in my dom template
let imgs = this.$refs.image;
imgs.forEach((img) => {
// I do some stuff with imgs …Run Code Online (Sandbox Code Playgroud) 当我第一次加载页面时,在某些页面上,它在 ngOnDestroy 中显示取消订阅错误,因为我正在取消订阅其中的订阅。
我不确定为什么在组件的初始化时调用 ngOnDestroy 。
这是我第一次加载页面时看到的错误。
我认为这是 angular2-multiselect-dropdown 的一些问题,但在其他一些组件中,它自己的 ngOnDestory 也被调用,并表示未定义取消订阅的订阅。
这就是订阅的创建。
实际上我不认为它在定义可观察量方面有任何其他问题。
那么这是 Angular 组件生命周期的问题还是 Angular2-multiselect-dropdown 的问题?
我之前没有看到这个错误,也不知道我做错了什么。任何人都可以有类似的问题或帮助我解决这个问题吗?提前致谢。
onMount与 SvelteJS 中没有生命周期事件不同beforeMount。那么,我们在挂载之前如何获取页面所依赖的数据呢?onMount获取会产生故障。可以说我可以将依赖 DOM 包装在 if 条件中。但我认为这不是正确的解决方案。与 Sapper 非常相似,有一个preload函数可以在安装之前加载页面相关数据。preloadSvelteJS 中这种(Sapper 的)行为的替代方案是什么?
我以前见过这个问题,但问题总是功能的子集。我正在寻找完全相同的生命周期事件。我可以说得更具体。
我知道 Flutter 小部件中存在的是
onCreate/ viewDidLoad=initStateonDestroy/ viewDidUnload=dispose这些是我想了解的生命周期事件(对于当前可见的 widget/route,而不是整个应用程序):
onResume/viewWillAppear在当前可见的小部件上被触发内部导航(在应用程序内导航)
A。您将路线/小部件推入堆栈
b. 您导航回路线/小部件(已经位于导航堆栈的背面)
外部导航(应用程序的后台和前台)
A。您从后台打开应用程序(路线/小部件是显示给用户的)
b. 您打开屏幕(电源按钮)并且应用程序已打开
onPause/在当前可见的小部件上viewDidDisappear被触发内部导航(在应用程序内导航)
A。您离开小部件/路线继续前进
b. 您可以通过关闭小部件/在堆栈中向后浏览来离开该小部件
外部导航(应用程序的后台和前台)
A。您将应用程序置于后台(并且路线/小部件是向用户显示的) b.您在应用程序打开的情况下关闭屏幕(电源按钮)
lifecycle ×10
android ×3
reactjs ×2
angular ×1
animation ×1
back-button ×1
backbone.js ×1
components ×1
events ×1
flutter ×1
ios ×1
javabeans ×1
javascript ×1
jsf-2 ×1
marionette ×1
mount ×1
onresume ×1
svelte-3 ×1
unmount ×1
vue-resource ×1
vue.js ×1