scrimba
Imba Changelog
Imba Changelog - Context API
Go Pro!Bootcamp

Bootcamp

Study group

Collaborate with peers in your dedicated #study-group channel.

Code reviews

Submit projects for review using the /review command in your #code-reviews channel

Imba Changelog - Context API
AboutCommentsNotes
Imba Changelog - Context API
Expand for more info
index.imba2
run
preview
console
var input = {
amount: 0
desc: ""
}

tag bank-transaction

def render
<self>
<span.type> @data.type
<span.amount> @data.amount
<span.desc> @data.desc

tag bank-app
@balance = 0
@transactions = []

def deposit
@balance += input.amount
@transactions.push({
type: 'deposit'
amount: input.amount
desc: input.desc
})

def withdraw
@balance -= input.amount
@transactions.push({
type: 'withdrawal'
amount: -input.amount
desc: input.desc
})

def render
<self.grid>
<h1> "Balance: {@balance}"
<div.vbox>
<input[input.amount] type='number'>
<input[input.desc] type='text'>
<button :click.deposit> "Deposit"
<button :click.withdraw> "Withdraw"
<div.transactions> for transaction in @transactions
<bank-transaction data=transaction>

### css scoped

bank-transaction {
display: block;
}

button {
margin: 5px;
width: auto;
}
input {
width: 40px;
}

.grid {
display: grid;
grid-template-columns: 1fr;
grid-template-rows: 1fr;
width: 80%;
margin: 0 auto;
}
.vbox {
display: flex;
flex-direction: row;
}
###
Console
/index.html
-15:31