SVELTE + VITE (二)

SVELTE + VITE (二)

计算属性

<script>
	let count = 0;
	$: doubled = count * 2;

	function handleClick() {
		count += 1;
	}
</script>

<button on:click={handleClick}>
	Clicked {count} {count === 1 ? 'time' : 'times'}
</button>

<p>{count} doubled is {doubled}</p>
  • $: 类似于vue中的 计算属性。 通常指:组件状态的某些部分需要通过其它部分计算得出。
$:console.log(`the count is $count`)

$:{
    console.log(`the count is ${count}`)
    alert(`I SAID THE COUNT IS ${count}`)
}

$:if(count>=10){
    alert(`count is dangerously high!`);
    count = 9;
}
  • 不仅可以声明反应式的值,通过可以运行反应式的语句,甚至可以将$:放在 if代码块前面
//app.svelte
<script>
	let count = 0;

	$: if (count >= 10) {
		alert(`count is dangerously high!`);
		count = 9;
	}

	function handleClick() {
		count += 1;
	}
</script>

<button on:click={handleClick}>
	Clicked {count} {count === 1 ? 'time' : 'times'}
</button>

组件属性传递

//子组件
//Nested.svelte

<script>
export let answer
</script>

<p>
    The answer is {answer}
</p>

//父组件
//App.svelte
<script>
import Nested from './Nested.svelte';
</script>

<Nested  answer={99} />

  • 组件的props ,需要在子组件通过 export 关键字来做到。
//子组件 info.svelte
<script>
export let name;
export let version;
export let speed;
export let website;
</script>

<p>
	The <code>{name}</code> package is {speed} fast.
	Download version {version} from <a href="https://www.npmjs.com/package/{name}">npm</a>
	and <a href={website}>learn more here</a>
</p>

//父组件 App.svelte
<script>
	import Info from './Info.svelte';

	const pkg = {
		name: 'svelte',
		version: 3,
		speed: 'blazing',
		website: 'https://svelte.dev'
	};
</script>

<Info {...pkg}/>
  • 我们可以通过解构的方式,实现简化。

(....待续)

posted @   zcookies  阅读(153)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示