Ionic Tinder卡添加了新的卡功能,当卡视图不是活动视图时添加卡时打破滑动动画
Ionic Tinder cards add new card functionality breaks swipe animation when card added when card view is not the active view
添加新的卡片到卡片数组,而不是在tinder卡片视图会破坏过渡动画,当我们来刷那张卡。我已经制作了一个codepen http://codepen.io/antonfire/pen/xwrjPx来显示这一点,并在卡片视图和另一个视图上添加卡片按钮。通常情况下,卡顺利滑出,但在卡添加的情况下,视图,动画是不正确的。我正在使用以下代码添加卡片。
var cardTypes = [
{ image: 'http://api.randomuser.me/portraits/women/31.jpg' },
{ image: 'http://api.randomuser.me/portraits/women/32.jpg' },
{ image: 'http://api.randomuser.me/portraits/women/33.jpg' },
{ image: 'http://api.randomuser.me/portraits/women/34.jpg' },
{ image: 'http://api.randomuser.me/portraits/women/35.jpg' },
{ image: 'http://api.randomuser.me/portraits/women/36.jpg' },
{ image: 'http://api.randomuser.me/portraits/women/37.jpg' },
];
$scope.cards = Array.prototype.slice.call(cardTypes, 0);
$scope.cardDestroyed = function(index) {
$scope.cards.splice(index, 1);
};
$rootScope.addCard = function() {
var newCard = cardTypes[Math.floor(Math.random() * cardTypes.length)];
newCard.id = Math.random();
$scope.cards.push(angular.extend({}, newCard));
}
当我们在同一个视图中添加卡片时,这段代码可以工作,但是如果我们从另一个视图控制器添加卡片,它就不起作用了。
任何帮助,非常感谢。
看了这个后,我确定问题是由以下代码行在tinder cards .js中引起的:
this.parentWidth = this.el.parentNode.offsetWidth;
this.width = this.el.offsetWidth;
当在包含Tinder cards指令的视图中添加新卡片时,卡片宽度和父元素可以由javascript使用offsetWidth
确定。如果卡被添加,而包含指令的视图不是当前视图,javascript不能计算offsetWidth
,因为它目前没有呈现在视窗中。因此,我使用了以下解决方案,用以下代码替换前面的代码:
this.parentWidth = window.innerWidth;
this.width = 300;
这是一个有点黑客的width
将需要匹配width
在火种卡的CSS和parentWidth
将需要调整,以考虑到任何其他元素的卡片指令内。
相关文章:
- 在不刷新整个网格的情况下,向Asp.net网格视图添加新行
- 如何将Web视图添加到Appgyver中的视图中
- 列表视图添加另一个不需要的页面项目
- 如何为模式窗口中呈现的部分视图添加滚动条
- AngularJS:尝试以编程方式向视图添加指令
- 即使使用“on”,JQuery 也无法识别通过主干视图添加的元素
- 从木偶中的空视图添加到收藏
- 主干集合视图添加未使用模型调用
- 如何在 ExtJS5 中从控制器向视图添加组件
- 向当前视图添加内容的主干
- 使用JSON和Backbone.js向视图添加值
- Titanium Studio JavaScript-向表视图添加按钮
- todo的一个简单应用程序,不向视图添加输入值
- 将视图添加到角度种子项目
- 在Angular JS中为单个视图添加完整的页面背景
- 从子视图向父视图添加新集合
- 组合优于继承,这是向视图添加额外功能而不诉诸继承的更好方式
- 在Ionic中,如何在for循环的每次迭代后向应用程序视图添加数据
- Joomla将脚本从视图添加到头部脚本的底部
- 如何为视图添加动态事件