见过很多人使用下面的代码:
Type t = typeof(obj1);
if (t == typeof(int))
// Some code here
但是我知道也可以这样做:
if (obj1.GetType() == typeof(int))
// Some code here
或这个:
if (obj1 is int)
// Some code here
就我个人而言,我觉得最后一个是最干净的?哪一个最好用,还是看个人喜好?
看写我这个demo
<template>
<div>
<!--<img src="./assets/logo.png">-->
<header class="mod_header">
<i class="music_logo">音乐</i>
<a href="javascript:;" class="btn_download">下载APP</a>
</header>
<nav class="mod_nav" @click="goView">
<a href="javascript:;" data-nav="Recom" data-index="0" :class="{current:isActive[0]}">推荐</a>
<a href="javascript:;" data-nav="TopList" data-index="1" :class="{current:isActive[1]}">排行榜</a>
<a href="javascript:;" data-nav="Search" data-index="2" :class="{current:isActive[2]}">搜索</a>
<!--<a v-link="/HelloWorld">HelloWorld</a>-->
</nav>
<!-- 动态组件 -->
<keep-alive>
<component :is="view"></component>
</keep-alive>
</div>
</template>
<script>
import Recom from '@/components/Recom'
import TopList from '@/components/TopList'
import Search from '@/components/Search'
export default {
name: 'app',
data () {
return {
view: 'Recom',
isActive: [true, false, false]
}
},
components: {
Recom,
TopList,
Search
},
methods: {
goView (el) {
let me = this
me.view = el.target.attributes['data-nav'].nodeValue
let dataIndex = el.target.attributes['data-index'].nodeValue
// eslint-disable-next-line 这个注释的是说明下面这行代码不用es6检查
me.isActive.find((h, i) => {
// eslint-disable-next-line
if (i == dataIndex) {
me.$set(this.isActive, i, true)
} else {
me.$set(this.isActive, i, false)
}
})
}
}
}
</script>