注意:以下所有示例基于vue 2.x、Vuex 2.x、

vm.$mount()-挂载:

<body>
<div id="a">
</div>
</body>
<script>
var A = Vue.extend({
template: '<p>123</p>'
}); /*// 自动挂载
new A({
el: '#a'
});*/ var a = new A();
a.$mount('#a')// 手动挂载
</script>

局部注册:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
<com-b></com-b>
<com-c></com-c>
<com-d></com-d>
</div> <template id="com-d">
<div>comD</div>
</template> <script src="https://cdn.bootcss.com/vue/2.5.17-beta.0/vue.js"></script>
<script>
var comC = Vue.component('comC', {
template: '<div>comC</div>'
}); var vm = new Vue({
el: '#app',
components: {
comB: {
template: '<div>comB</div>'
},
comC: comC,
comD: {
template: "#com-d"
}
}
});
</script>
</body>
</html>

动态组件:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
<component :is="cur"></component>
<button @click="change">change</button>
</div> <template id="comA">
<div>comA</div>
</template> <script src="https://cdn.bootcss.com/vue/2.5.17-beta.0/vue.js"></script>
<script>
var vm = new Vue({
el: '#app',
data: {
cur: {
template: '<div>cur</div>'
}
},
methods: {
change: function(){
this.cur = this.cur == 'comA' ? 'comB' : 'comA'
}
},
components: {
comA: {
template: '#comA'
},
comB: {
template: '<div>comB</div>'
}
}
})
</script>
</body>
</html>

计算示例(computed):

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
{{intro}}
<input v-model="name"/>
<input v-model="age"/>
</div> <script src="https://cdn.bootcss.com/vue/2.5.17-beta.0/vue.js"></script>
<script>
var vm = new Vue({
el: '#app',
data: {
name: 'Samve',
age: 32
},
computed: {
intro: function(){
return 'name:' + this.name + ", age: " + this.age;
}
}
});
</script>
</body>
</html>

自定义指令:实现"点击按钮使文本框获取焦点"示例(directive)

<!DOCTYPE html>
<html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml" xmlns:v-on="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
<input v-focus="isFocus"/>
<button @click="change">change</button>
</div> <script src="https://cdn.bootcss.com/vue/2.5.17-beta.0/vue.js"></script>
<script>
Vue.directive('focus', {
inserted: function(el, binding){
if(binding.value){
el.focus();
}else{
el.blur();
}
},
componentUpdated: function(el, binding){
if(binding.value){
el.focus();
}else{
el.blur();
}
}
}); let vm = new Vue({
el: '#app',
data: {
isFocus: true
},
methods: {
change(){
this.isFocus = !this.isFocus;
}
}
});
</script>
</body>
</html>

使用jquery调用接口数据:

<!DOCTYPE html>
<html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml" xmlns:v-on="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
<div>{{list}}</div>
</div> <script src="https://cdn.bootcss.com/vue/2.5.17-beta.0/vue.js"></script>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
<script>
let vm = new Vue({
el: '#app',
data: {
list: ''
},
created: function(){
let that = this;
$.ajax({
url: 'http://v3.faqrobot.org/servlet/AQ?s=p&sysNum=14464304598886414&&sourceId=0×tamp=1473514741278&dataType=json',
dataType: 'jsonp',
success: function(data){
that.list = data.webConfig.helloWord;
}
})
}
})
</script>
</body>
</html>

slot示例:

<!DOCTYPE html>
<html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml" xmlns:v-on="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
<com-a>
<p>中国科学院</p>
<p>院士</p>
<p slot="slotA">杨院士</p>
<com-b></com-b>
</com-a>
</div> <template id="comA">
<div>
<slot></slot>
<slot></slot>
<slot name="slotA"></slot>
<P>comA</P>
</div>
</template> <template id="comB">
<div>comB</div>
</template> <script src="https://cdn.bootcss.com/vue/2.5.17-beta.0/vue.js"></script>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
<script>
Vue.component('comA', {
template: '#comA'
}); Vue.component('comB', {
template: '#comB'
}); let vm = new Vue({
el: '#app'
});
</script>
</body>
</html>

vuex示例:

a. 简单计数

<!DOCTYPE html>
<html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml" xmlns:v-on="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
<div>{{num}}</div>
<div><button @click="add">add</button></div>
<div><button @click="reduce">reduce</button></div>
</div> <script src="https://cdn.bootcss.com/vue/2.5.17-beta.0/vue.js"></script>
<script src="https://cdn.bootcss.com/vuex/3.0.1/vuex.js"></script>
<script>
Vue.use(Vuex); let myStore = new Vuex.Store({
state: {
num: 0
},
mutations: {
add: function(state){
state.num++;
},
reduce: function(state){
state.num--;
}
}
}); let vm = new Vue({
el: '#app',
store: myStore,
computed: {
num: function(){
return myStore.state.num;
}
},
methods: {
add(){
myStore.commit('add');
},
reduce(){
myStore.commit('reduce');
}
}
})
</script>
</body>
</html>

b. 子组件获取Vuex状态:

<!DOCTYPE html>
<html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml" xmlns:v-on="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
<div>{{num}}</div>
<com-a></com-a>
</div> <script src="https://cdn.bootcss.com/vue/2.5.17-beta.0/vue.js"></script>
<script src="https://cdn.bootcss.com/vuex/3.0.1/vuex.js"></script>
<script>
Vue.use(Vuex); let myStore = new Vuex.Store({
state: {
num: 0
}
}); let vm = new Vue({
el: '#app',
store: myStore,// 把store实例注入所有的子组件
computed: {
num(){
return this.$store.state.num;// 使用this.$store即可引用s
}
},
components: {
comA: {
template: `<div>子: {{num}}</div>`,
computed: {
num(){
return this.$store.state.num;// 使用this.$store即可引用
}
}
}
}
})
</script>
</body>
</html>

参考:https://blog.csdn.net/u011500781/article/details/52475967

vue各种实例集合的更多相关文章

  1. Vue.js实例练习

    最近学习Vue.js感觉跟不上节奏了,Vue.js用起来很方便. 主要实现功能,能添加书的内容和删除.(用的Bootstrap的样式)demo链接 标题用了自定义组件,代码如下: components ...

  2. Vue组件实例间的直接访问

    前面的话 有时候需要父组件访问子组件,子组件访问父组件,或者是子组件访问根组件. 在组件实例中,Vue提供了相应的属性,包括$parent.$children.$refs和$root,这些属性都挂载在 ...

  3. vue.js实例对象+组件树

    vue的实例对象 首先用js的new关键字实例化一个vue el: vue组件或对象装载在页面的位置,可通过id或class或标签名 template: 装载的内容.HTML代码/包含指令或者其他组件 ...

  4. 前端MVC Vue2学习总结(二)——Vue的实例、生命周期与Vue脚手架(vue-cli)

    一.Vue的实例 1.1.创建一个 Vue 的实例 每个 Vue 应用都是通过 Vue 函数创建一个新的 Vue 实例开始的: var vm = new Vue({ // 选项 }) 虽然没有完全遵循 ...

  5. Vue2.5笔记:Vue的实例与生命周期

    理解与认识 Vue 的实例是我们学习 Vue 非常重要的一步,也是非常必须的,因为实例是它的一个起点,也是它的一个入口,只有我们创建一个 Vue 实例之后,我们才行利用它进行一些列的操作. 首先 Vu ...

  6. vue的实例

    vue的实例 创建一个vue实例的写法和创建一个变量一样 var vm = new Vue{{ //我们一般用vm来接收vue的实例,vm是 ViewModel的缩写 }} 然后,我们就可以给vue实 ...

  7. Vue.js—组件快速入门及Vue路由实例应用

    上次我们学习了Vue.js的基础,并且通过综合的小实例进一步的熟悉了Vue.js的基础应用.今天我们就继续讲讲Vue.js的组件,更加深入的了解Vue,js的使用.首先我们先了解一下什么是Vue.js ...

  8. 【05】Vue 之 实例详解与生命周期

    Vue的实例是Vue框架的入口,其实也就是前端的ViewModel,它包含了页面中的业务逻辑处理.数据模型等,当然它也有自己的一系列的生命周期的事件钩子,辅助我们进行对整个Vue实例生成.编译.挂着. ...

  9. 黑马vue---31-32、vue过滤器实例

    黑马vue---31-32.vue过滤器实例 一.总结 一句话总结: vue内部的东西,无论是过滤器还是组件,都是键值对的方式 1.过滤器的定义语法? Vue.filter('过滤器的名称', fun ...

随机推荐

  1. windows版mysql5.7.18安装

    windows版mysql5.7.18安装 初始化命令:C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe --defaults-file=& ...

  2. $ sudo python -m pip install pylint 出错解决方法

    问题:在unbuntu执行$ sudo python -m pip install pylint出错解决方法支行以下命令sudo pip install pylint==1.9.3这样roboware ...

  3. [py][mx]django的cookie和session操作-7天免登录

    浏览器同源策略(same-origin policy) csrf攻击防御核心点总结 django的cookie和session操作-7天免登录 flask操作cookie&django的see ...

  4. Go包管理工具Vendor使用

    一.Go包管理工具Vendor 一.使用步骤 1.首先,从go get -u github.com/kardianos/govendor下载govendor工具到本地. 2.govendor使用时,必 ...

  5. Python 全栈开发七 面向对象

    一.编程范式 编程是程序员用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程 , 一个程序是程序员为了得到一个任务结果而编写的一组指令的集合,正所谓条条大路通罗马,实现一个任务的方式 ...

  6. [LeetCode] 884. Uncommon Words from Two Sentences_Easy tag: Hash Table

    We are given two sentences A and B.  (A sentence is a string of space separated words.  Each word co ...

  7. iOS UIViewController生命周期控制

    具体流程,看下图: init方法在init方法中实例化必要的对象(遵从LazyLoad思想)init方法中初始化ViewController本身 loadView方法当view需要被展示而它却是nil ...

  8. sqli-labs(十四)(宽字节注入)

    数据库使用gbk编码的时候,会将两个字符合并成一个中文. 写在前面吧,对php的代码审计也会有帮助 直接使用 set character_set_client=gbk 或者是常见的mysql_quer ...

  9. Css预处理器---Less(三)

    四.Color函数 1.less提供的颜色运算函数,颜色会被转换成HSL色彩空间,然后再通道级别进行操作,函数如下: lighten(@color, 10%); //return a color wh ...

  10. git 开发中的总结

    一.git是什么 1.git是一种分布式的版本管理系统, 分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库. 二.g ...