vue2.0学习之基础内容

	import BScroll from ‘better-scroll‘;
  	import star from ‘../star/star.vue‘;
  	import split from ‘../split/split.vue‘;
  	import icon from ‘../icon/icon.vue‘;
	import {formatDate} from "../../common/js/date.js";
	//{formatDate} 表示写的方法 前面加入了 export, 即  export function formatDate(){}

	export default {
	    props:{ //接口数据,父组件的数据,子组件通过props接收后,子组件才能使用
	      seller:{
	        type:Object, //数据类型
			default:{}
	      }
	    },
	    data(){
	      return{ // 必须return
	        favorite: false
	      }

	    },
	    watch:{ //主要监测数据变化
	      // watch 监听seller数据,一旦seller数据发生变化,就立即调用seller内部定义的方法
	      ‘seller‘(){
	        this.$nextTick(()=>{
	          this._initScroll();
	          this._initPics();
	        })
	      }
	    },
	    ready(){ //数据准备好就执行此方法
	      this._initScroll();
	      this._initPics();
	    },
		created(){
			this.$http.get("/api/goods").then(function(response){
		      let data = response.body;
		      if(data.errno === ERROK){
		        this.goods = data.data;
		        this.$nextTick(() => {
		          console.log(‘created‘);
		          this._initScroll();
		          this._calculable();
		        });
		      }
		    });
		},
		/*
			created: 在模板渲染成html前调用,通常是初始化某些属性值,然后再渲染成视图
			mounted: 在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom节点进行一些必要的操作
			通常created使用的次数多,而mounted通常是在一些插件的使用或者组件的使用中进行操作
		*/

	    mounted(){
	      this.$nextTick(()=>{
	        this._initScroll();
	        this._initPics();
	      })
	    },
	    computed:{ //计算属性
	      favoriteText(){
	        return this.favorite ? ‘已收藏‘: ‘收藏‘
	      }
	    },
	    methods:{ // 所有的方法都写在这里面
	      getHeart(event){
	        if(!event._constructed){ //阻止浏览器的网页点击事件,只执行手机点击事件
	          return;
	        }
	        this.favorite = !this.favorite
	      },
	      _initScroll(){ // 组件的私有方法,一般前面加_, 能被外部调用的方法不加_
	        if(!this.scroll){
	            this.scroll = new BScroll(this.$refs.sellerWrappper, {
	              click:true
	            })
	        }else{
	          this.scroll.refresh();
	        }
	      }

	    },
	    components:{ //引入的组件,都需要在这里注册才能使用
	      star,
	      split,
	      icon
	    }

  }

  

原文地址:https://www.cnblogs.com/sllzhj/p/8492177.html

时间: 2024-11-08 23:58:15

vue2.0学习之基础内容的相关文章

vue2.0学习(一)-内部指令

vue2.0学习(一)-内部指令 GitHub源码 https://github.com/sunnyguyan/VueDemo 1.v-if v-else v-show v-if:是vue的一个内部指令,指令用在我们的html中 v-if用来判断是否加载html的DOM,比如我们模拟一个用户登录状态,在用户登录后现实用户名称 <div v-if='isLogin'>你好,guyan</div> 完整的html代码 <!DOCTYPE html> <html lan

vue2.0学习(二)-全局API

vue2.0学习(二)-全局API GitHub源码 https://github.com/sunnyguyan/VueDemo 1.Vue.directive自定义指令 一.什么是全局API? 全局API并不在构造器里,而是先声明全局变量或者直接在Vue上定义一些新功能,Vue内置了一些全局API,比如我们今天要学习的指令Vue.directive.说的简单些就是,在构造器外部用Vue提供给我们的API函数来定义新的功能 二.Vue.directive自定义指令 我们在第一季就学习了内部指令,

vue2.0学习(四)-实例和内置组件

vue2.0学习(四)-实例和内置组件 1.实例入门-实例属性 一.Vue和Jquery.js一起使用 下载可以去官网进行下载,我这里使用的版本是3.1.1,下载好后在需要的页面引入就可以了.当然你还有很多其它的方法引入jquery,只要可以顺利引入就可以了. <script type="text/javascript" src="../assets/js/jquery-3.1.1.min.js"></script> <!DOCTYPE

Objective-c学习笔记—— 基础内容

6.5.1 多重继承 Python也支持多种继承形式.一个能继承多个基类的类定义如下: class DerivedClassName(Base1, Base2, Base3): <statement-1> . . . <statement-N> 大多数情况,最简单而言,你可以把从父类继承下来的属性查询看成是遵循深度优先,从左到右. 而不是在同一等级重复的同样类中执行两次.因此,如果一个属性没在派生类中找到,首先会在base1然后再base1的基类中,如果在那里都没发现,就会在bas

vue2.0学习(一)-的内部指令

vue2.0学习(一)-内部指令 GitHub源码 v-if v-else v-show v-if dq 原文地址:https://www.cnblogs.com/guyanv/p/8734904.html

python学习之基础内容

python基础内容① 什么是python? -一种计算机语言,计算机语言分为 -高级语言:python.java.Ruby.C#.C++...... -基础语言:C语言.汇编 -计算机可以直接执行基础语言,但是基础语言比较复杂,敲代码很麻烦 -高级语言会自动转化为基础语言,再提供给计算机执行. 安装好python后,print("hello world") -python执行文件后缀名可以是任意的 -但是为了pycharm的执行方便,约定俗称使用“.py”后缀 python 的执行方

vue2.0学习笔记之生命周期

beforeCreate 组件实例刚刚被创建,属性都没有 created  实例已经创建完成,属性已经绑定 beforeMount 模板编译之前 mounted 模板编译之后,代替之前ready beforeUpdate        组件更新之前 updated                 组件更新完毕 beforeDestroy       组件销毁前 destroyed              组件销毁后 <!DOCTYPE html> <html lang="en

Vue2.0学习笔记一 :各种表达式

#,过滤器 #,在Vue2.x中,过滤器只能在mustache绑定中使用,为了在指令帮定中实现同样的行为,你应该使用计算属性: #,过滤器可以串联 {{ message | filterA | filterB }} #,条件渲染 #,注意v-if与v-show的区别,v-if是决定是否创建DOM,而v-show则是DOM始终存在,只是改变了显示样式: #,如果要切换多个元素的时候,我们就使用<template v-if='ok'>: #,v-if 有更高的切换消耗而 v-show 有更高的初始

vue2.0学习之动画

下载animate.css <transition name="v"> <div class="content">需要做动画的内容</div> </transition> <style> .content{ //也可以有其他的样式 transition: all 0.4s linear; } .v-enter-active, .v-leave-active{ /* 进入时和离开时的状态 */ transit