我了解基本的Javascript,但是在Typescript文件中遇到了问题。我正在使用Ionic框架来测试页面,从理论上讲,用户可以像在Tinder上一样“滑动”,只是为了好玩。
我已经编写了所有JS,因为我将其从Codepen中移了出来,但是我似乎无法摆脱Typescript的语法。
Javascript:
var tinderContainer = document.querySelector('.tinder');
var allCards = document.querySelectorAll('.tinder--card');
var nope = document.getElementById('nope');
var love = document.getElementById('love');
function initCards(card, index) {
var newCards = document.querySelectorAll('.tinder--card:not(.removed)');
newCards.forEach(function (card, index) {
card.style.zIndex = allCards.length - index;
}
}
打字稿(我使用Google和SOF答案汇总在一起):
export class TestPage {
constructor(public navCtrl: NavController) {
}
tinderContainer = document.querySelector('ion-content');
allCards = document.querySelector('.tinder--card');
nope = document.getElementById('nope');
love = document.getElementById('love');
declare initCards(card,index) {
newCards = document.querySelectorAll('.tinder--card:not(.removed)');
newCards.forEach((card,index)) {
card.style.zIndex = allCards.length - index;
}
}
}
答案 0 :(得分:1)
一些提示是:
在函数中使用let newCards
,因为必须声明变量。
您的forEach应该是这样的。
newCards.forEach((card, index) => {
...
});
但是要使用 card.style.zIndex 和 allCards.length 这样的语法,声明变量类型。
对于未知模型,您可以使用类似card['style']['zIndex']
此外,您还必须使用this
来访问类属性,例如this.allCards