原创 vue的狀態更新(異步更新解決方案)

在vue中狀態更新是異步的,這一點和react中的setstate類似。 解決方案 非組件解決方案: <div id="example">{{message}}</div> var vm = new Vue({ el: '#

原创 let和const

1.let 命令 let 定義的變量只在let命令所在的代碼塊內有效。並且let定義的變量不存在變量提升,意味着不可以先使用後申明,會報錯。也不允許重複定義。 // var 的情況 console.log(foo); // 輸出

原创 記錄call、apply和bing的區別

call()方法 這個方法的第一個參數表示this指向的對象,後面的所有參數都是函數的參數。例如: function sayName(label) { console.log(label+'--->'+this.name)

原创 d3.js的demo

<!DOCTYPE html> <html style="overflow: hidden;"> <head> <meta charset="UTF-8"> <title>流程設計工具</title> <l

原创 vue原理的簡單實現

const Observer = function (data) { for (let key in data) { defineReactive(data, key); } } const de

原创 vue使用echarts引入離線地圖(geo.json)並切換省市(以四川爲例)

首先安裝echarts npm install echarts --save 然後再main.js中引入echarts import echarts from 'echarts' Vue.prototype.$echarts =

原创 vue通過路由實現對部分組件進行緩存(keep-alive)

首先在router中,設置meta屬性keepAlive { path:'/svglink', name: 'svglink', component: () => import('@/components/SvgMain/Svg

原创 vue的單向數據流

爲什麼是單向數據流 所有的 prop 都使得其父子 prop 之間形成了一個單向下行綁定:父級 prop 的更新會向下流動到子組件中,但是反過來則不行。這樣會防止從子組件意外改變父級組件的狀態,從而導致你的應用的數據流向難以理解。 額

原创 vue自定義指令

簡單的例子 當頁面加載時,該元素將獲得焦點 (注意:autofocus 在移動版 Safari 上不工作)。事實上,只要你在打開這個頁面後還沒點擊過任何內容,這個輸入框就應當還是處於聚焦狀態。現在讓我們用指令來實現這個功能: // 註

原创 vue的計算屬性和偵聽器

計算屬性緩存 vs 方法 按照官網的實例,計算屬性和方法使用後的效果是一致的。但是,計算屬性是基於它們的依賴進行緩存,換句話說,只要計算屬性依賴的值沒有發生改變,那麼計算屬性就不會重新求值。 <p>Reversed message:

原创 webpack搭建react項目

package.json { "name": "react-project-demo-20181016", "version": "1.0.0", "description": "", "main": "index.j

原创 vue學習筆記(2)

過濾器 content | 過濾器,vue中沒有提供相關的內置過濾器,可以自定義過濾器 組件內的過濾器 + 全局過濾器 組件內過濾器就是options中的一個filters的屬性(一個對象) 多個key就是不同過濾器名,多個va

原创 vue學習筆記(1)

webpack-ES6的處理 ES6的模塊,vue本身默認支持es6的模塊導入導出 babel babel-loader(內部依賴babel-core) 關鍵字(presets es2015) 函數(plugins babel

原创 vscode中調試webpack構建的項目

在webpack的配置中: devtool: 'source-map', output: { publicPath: '/', devtoolModuleFilenameTemplate: '../[resource-pa

原创 js對字符串的常用操作方法

replace() 方法 replace() 方法用於在字符串中用一些字符替換另一些字符,或替換一個與正則表達式匹配的子串。 stringObject.replace(regexp/substr,replacement) // reg