我知道基本的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;
}
}
打字稿(我用谷歌和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;
}
}
}
一些提示如下:在函数中使用let newCards
,因为您必须声明变量。
你的forEach应该是这样的。
newCards.forEach((card, index) => {
...
});
但是,要使用card.style.zIndex和allCards.length这样的语法,您必须声明变量类型。。
对于未知型号,您可以使用类似card['style']['zIndex']
的东西
此外,您还必须使用this
来访问类属性,如this.allCards