1、github上的网址:https://github.com/vuejs/vue
2、Vue中文文档:https://cn.vuejs.org/v2/guide/installation.html
3、CDN:http://www.bootcdn.cn/
4、看哥们儿,分享给我的视频-->
基础实验代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue 测试实例 - 菜鸟教程(runoob.com)</title>
<!-- <script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script> -->
<script src="https://cdn.bootcss.com/vue/2.5.17-beta.0/vue.js"></script>
</head>
<body>
<div id="app"><counter heading="Likes" color="green"></counter><counter heading="dislikes"color="red"></counter>
</div>
<template id="my-template"><div><h1>{{heading}}</h1><button @click="count+=1">Submit {{count}}</button></div>
</template>
<script>
Vue.component('counter',{template:'#my-template',props:['heading','color'],data:function(){return {count:0};}
});
new Vue({el: '#app',
})
</script>
</body>
</html>
实验结果为:
5、computed使用:
需要写代码逻辑和业务逻辑,放在compute当中即可。
<body>
<div id="app">Level {{level}}
</div>
<script>new Vue({el: '#app',data:{points:200,},computed:{level:function(){if(this.points<=100){return '普通会员';}return 'VIP会员'}},
})
</script>
</body>
运行结果为:
6、v-for、v-class(或者':class')、@click的使用
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue 测试实例 - 菜鸟教程(runoob.com)</title>
<!-- <script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script> -->
<script src="https://cdn.bootcss.com/vue/2.5.17-beta.0/vue.js"></script>
<style>.completed{text-decoration: line-through;}
</style>
</head>
<body>
<div id="app"><ul><li @click="toggleTasks(task)" :class="{'completed':task.completed}"v-for="task in tasks">{{task.body}}</li></ul>
</div>
<script>new Vue({el: '#app',data:{tasks:[{body:'go to the movie',completed:false},{body:'learn vue js in action',completed:true},{body:'go to the shop',completed:false}]},computed:{username:function(){return this.first+' '+this.last;}},methods:{toggleTasks:function(task){task.completed=!task.completed}}
})
</script>
</body>
</html>
运行结果:
7、组件化:
数据传输:先new Vue中的data中的,再到body组件中的,最后到template标签中的引用。前提是把组件中的对data的引用包含到Vue.component中的props属性中。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue 测试实例 - 菜鸟教程(runoob.com)</title>
<!-- <script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script> -->
<script src="https://cdn.bootcss.com/vue/2.5.17-beta.0/vue.js"></script>
<style>.completed{text-decoration: line-through;}
</style>
</head>
<body>
<div id="app"><task-app :list="tasks"></task-app>
</div>
<template id="task-template"><div><h1>My tasks <span v-show="remaining">({{remaining}})</span></h1><ul><li @click="task.completed=!task.completed":class="{'completed':task.completed}"v-for="task in list">{{task.body}}<strong @click="deleteTask(task)">X</strong></li></ul>
</div>
</template>
<script>
Vue.component('task-app',{template:'#task-template',props:['list'],methods:{toggleTasks:function(task){task.completed=!task.completed},deleteTask:function(task){this.list.splice(task,1);//用来删除某数据,zhu}},computed:{remaining:function(){return this.list.filter(function(task){return !task.completed;}).length;}},
})
new Vue({el: '#app',data:{tasks:[{body:'go to the movie',completed:false},{body:'learn vue js in action',completed:true},{body:'go to the shop',completed:false}]},computed:{username:function(){return this.first+' '+this.last;}},})
</script>
</body>
</html>
运行效果: