重置加载烬组件
Reset Ember Component on Load
我有一个烬。组件,它将项添加到空数组中,并在提交时返回该数组。问题是,如果我离开包含组件的路由(提交和未提交之后),然后再回到它,最后在数组中的信息仍然在那里。我希望每次导航到带有该组件的路由时都被重置。
如果这是一条路由,我会简单地写一个willTransition
或deactivate
方法来重置我的属性。但由于它是一个组件,所以它没有那些方法,而且我无法(据我所知)访问我希望从父路由中重置的属性。那么,我如何在每次加载这个路由时将这个数组重置为空(或重置整个组件)呢?谢谢!
更有可能的是,您没有正确设置您正在使用的值。以下是一些例子:
Ember.Component.extend({
items: []
});
Ember.Component.extend({
items: null,
init: function() {
this._super();
this.set('items', []);
}
});
在第一个组件中,组件的每个实例共享同一个items
数组。所以,如果你添加一个项目,然后创建一个新组件,新组件仍然拥有该项目(我认为这是你的问题)。
在第二个组件中,您可以看到我在init
函数中设置了items
属性。当我设置属性时,我每次都将它设置为不同的数组。现在,每个组件都有自己的items
属性。
没有你的代码很难说,但这似乎是你的问题。
相关文章:
- 如何创建带有插槽的vue js组件预加载程序
- 加载器组件仅加载一次
- 如何在ReactJs中渲染子组件时重新加载子组件的数据
- 加载服务器端渲染的React组件后执行脚本
- 在reactjs组件中预加载数据
- 在foreach中加载所有项后,Knockoutjs组件回调
- ReactJS-在加载时渲染顶级组件
- 可以't在我的React组件中加载图像
- 使用javascript加载knockoutjs组件
- 将自定义脚本加载到Vue.js组件中
- 如何在加载Angular2.RC1子组件时更新它
- Angular2 - 动态组件加载器错误
- 使用*ngIf+模板变量+loadIntoLocation以编程方式将组件加载到视图中
- 反应组件加载问题
- 反应组件加载模式(或反模式?
- Ember组件加载存储数据
- noflo:动态组件加载-组件[name]与基础[path]不可用
- 在angular组件加载时附加jQuery事件
- KnockoutJS 自定义组件加载器未执行“loadViewModel”
- 在 Angular2 中使用动态组件加载器的双向数据绑定