node vueプロジェクトの開発の前後に実戦記録を分離します。
前言
この文章は主にnode vueの前後の分離に関する資料を紹介しています。皆さんの参考にして勉強してください。
node vueプロジェクトの開発
最近一週間近くのvue開発を見ましたが、いろいろな感想があります。以前にreact、anglarと接触したことがありますので、特にお名前のvueを学びたいです。半日勉強した後で発見しました。接触するものが多くなりました。勉強しやすいです。Vueの命令はアングラーの命令を連想できます。Vueのコンポーネント化の設計はreactのコンポーネント化の設計と似ています。一部のrouterの設定もreactのルートやnodejsのルートと同じです。vuexはもっとredux、fluxの書き換えによっています。まだよく分かりませんが、vueのテンプレートレンダリングについては、expresレンダリングejsとあまり違いがありません。vueを使って完全にjqから離れることができます。jqを使わないということはまだ実感していませんが、このような双方向のデータバインディングはやはり便利だと思います。
コマンド v-bindは、主に、動的結合DOM要素属性、すなわち、要素属性の実際の値がvmのインスタンスにおけるdata属性によって提供される。 v−modelは、テーブル単一要素に対して双方向データバインディングを行い、フォーム要素の値を変更すると、インスタンスvmに対応するvmの属性も同時に更新される。 v-if、v-show、v-elseのこれらの命令は、テンプレートとデータ間の論理関係を説明する。
v-iとv-elseの役割は、そのdom要素が数値に基づいて出力されるかどうか、および含まれるサブ要素があるかどうかを判断することである。
eg:
v-showとv-ifの効果はほとんど同じですが、真偽を判断して内容を表示します。唯一の違いは、v-showが表示されない時は v-forはリストレンダリングに使用され、行列とオブジェクトを巡回することができます。 を意味しています。 v-onイベントバインディング、略記@: は、 v-HTMLはinners HTMLと類似しており、フラッシュを避けることもできます。 v-elというコマンドは、dom要素にインデックスを追加したものに相当します。例えば、 v-refはv-elと同様に にアクセスする。 v-preはコンパイルをスキップします。この要素は です。 v-cloakはあまり役に立たないと思います。 v-onceは、要素またはコンポーネントを明示するために、一度だけレンダリングするための内蔵命令を追加しました。 テンプレートレンダリング
1、v-forは主にリストレンダリングに用いられ、受け入れられた配列に従ってv-forバインディングされたdom要素と内部サブ要素を繰り返しレンダリングし、別名を設定することによって、配列内のデータを取得してノードにレンダリングすることができる。
eg:
3、データの修正
直接配列を変更すると、データを変更できます。
配列を直接変更できない場合
1.
テンプレートとしてレンダリングするためのノードですが、レンダリングはこのノードが存在しません。
イベントバインドと傍受
v−onは、インスタンス属性methods内の方法を、イベントのプロセッサとして結びつけることができ、v−on:後にすべてのオリジナルイベント名を受け入れることができる。略字@: は、methods関数とインラインjsを結合することができますが、ステートメントに限ります。 バインドされたmethods関数とインラインjsは、元のdom要素、eventを取得することができます。 は、複数のイベントを結合する際に、順次実行する。 uiコンポーネントお腹空きましたか
使用マニュアル
インストール
componentsフォルダの下に新しいページを作って、お腹空きましたかから自分の好きなコンポーネントを見つけます。例えば、走馬灯
必要なこのコンポーネントのファイルの下で、たとえばAPP.vueの中で
前後端分離
nodeでフルスタックの開発に慣れましたが、今はvue-webpackでフロントエンドの開発をしています。nodeでバックエンドの開発もとても快適で、前後に分離が実現しました。
バックエンドインターフェースを起動
前後に文通する
vue-resource
vue-resourceをインストールして、main.jsで引用します。
axios
まずaxiosを配置し、srcの下にhttp.jsを新設する。
ゲット方法
生産環境で包装後の経路が間違っていることが分かりました。config下のindex.jsを修正しました。
締め括りをつける
以上はこの文章の全部の内容です。本文の内容は皆さんの学習や仕事に対して一定の参考となる学習価値を持っています。質問があれば、メッセージを書いて交流してください。ありがとうございます。
この文章は主にnode vueの前後の分離に関する資料を紹介しています。皆さんの参考にして勉強してください。
node vueプロジェクトの開発
最近一週間近くのvue開発を見ましたが、いろいろな感想があります。以前にreact、anglarと接触したことがありますので、特にお名前のvueを学びたいです。半日勉強した後で発見しました。接触するものが多くなりました。勉強しやすいです。Vueの命令はアングラーの命令を連想できます。Vueのコンポーネント化の設計はreactのコンポーネント化の設計と似ています。一部のrouterの設定もreactのルートやnodejsのルートと同じです。vuexはもっとredux、fluxの書き換えによっています。まだよく分かりませんが、vueのテンプレートレンダリングについては、expresレンダリングejsとあまり違いがありません。vueを使って完全にjqから離れることができます。jqを使わないということはまだ実感していませんが、このような双方向のデータバインディングはやはり便利だと思います。
コマンド
v-iとv-elseの役割は、そのdom要素が数値に基づいて出力されるかどうか、および含まれるサブ要素があるかどうかを判断することである。
eg:
<div v-if="yes">yes</div>
vmの例におけるdata.yes=true
の場合、テンプレートエンジンは、このdomノードをコンパイルし、出力<div>yes</div>
は、v-elseがv-infに続く場合は、機能しないことに留意されたい。v-showとv-ifの効果はほとんど同じですが、真偽を判断して内容を表示します。唯一の違いは、v-showが表示されない時は
display:none
で、つまりdomノードを残しましたが、v-ifはできません。v-for="b in 10"
は現在、1-10の反復v-text <p v-text="msg"><p>
はinnerTextに相当し、{{msg}}
と比較して、フラッシュの問題を回避した。<div v-el="demo">this is a test </div>
は、現在のdomの値を取得したいなら、vm.$els.demo.innerText
は、大文字と小文字を区別しないでください。vim.$refs
を通じて1、v-forは主にリストレンダリングに用いられ、受け入れられた配列に従ってv-forバインディングされたdom要素と内部サブ要素を繰り返しレンダリングし、別名を設定することによって、配列内のデータを取得してノードにレンダリングすることができる。
eg:
<ul v-for="item in items">
<li>{{item.title}}</li>
<li>{{item.description}}</li>
</ul>
2、v-forは$index変数を内蔵しています。v-forを呼び出したときに呼び出すことができます。例えば、<li v-for="(index,item) in items">{{index}}-{{$index}}</li>
です。3、データの修正
直接配列を変更すると、データを変更できます。
配列を直接変更できない場合
1.
vm.items[0]={}
、この場合は修正できません。解決:vm.item.$set(0,{})
またはvm.$set('item[0]',{})
2.vm.item.length=0
4、v-forは対象を巡回して、key、valueの形式でkey変数をカスタマイズできます。
<li v-for="(key,value)" in objectDemo>
{{key}}---{{$key}}:{{vue}}
</li>
5、templateラベルテンプレートとしてレンダリングするためのノードですが、レンダリングはこのノードが存在しません。
イベントバインドと傍受
v−onは、インスタンス属性methods内の方法を、イベントのプロセッサとして結びつけることができ、v−on:後にすべてのオリジナルイベント名を受け入れることができる。
使用マニュアル
インストール
npm install cnpm install element-ui --save-dev
ファイルを紹介します
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
Vue.use(ElementUI, { size: 'small' })
使用componentsフォルダの下に新しいページを作って、お腹空きましたかから自分の好きなコンポーネントを見つけます。例えば、走馬灯
Carousel.vue
はコードをこのページにコピーします。必要なこのコンポーネントのファイルの下で、たとえばAPP.vueの中で
import Carousel from './components/Carousel'
export default {
name: 'app',
components: { //components s
Carousel: Carousel
}
}
モジュールをテンプレートに読み込む
<template>
<div id="app">
<Carousel></Carousel>
<img src="./assets/logo.png">
<router-view/>
</div>
</template>
これで運行できます。前後端分離
nodeでフルスタックの開発に慣れましたが、今はvue-webpackでフロントエンドの開発をしています。nodeでバックエンドの開発もとても快適で、前後に分離が実現しました。
バックエンドインターフェースを起動
cd back
cnpm install
npm run dev
フロントエンドサーバを起動
cd front
cnpm install
npm start
ログインページに入り、ログインをクリックして、コンソールからアクセス成功の情報を印刷し、ハロルドページに移動しました。前後に文通する
vue-resource
vue-resourceをインストールして、main.jsで引用します。
import VueResource from 'vue-resource'
Vue.use(VueResource)
config/index.jsにproxyTableプロキシを配置する
proxyTable: {
'/api/**': {
target: 'http://localhost:3000',
pathRewrite: {
'^/api': '/api'
}
}
}
使用
this.$http.get('api/apptest')
.then((response) => {
//
console.log(response)
}).catch(e => {
//
console.log(e)
})
}
短所:開発環境では問題ないですが、生産環境でバックエンドインターフェースを要求するのは成功しません。axios
まずaxiosを配置し、srcの下にhttp.jsを新設する。
import axios from ‘axios'
axios.defaults.timeout = 5000
axios.defaults.baseURL = 'http://localhost:3000'
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'
export default axios
main.jsに導入されます
import axios from './http'
Vue.prototype.axios = axios
new Vue({
el: '#app',
router,
axios,
template: '<App/>',
components: { App }
})
使用ゲット方法
login () {
//
this.axios.get('/apptest')
.then((response) => {
//
console.log(response)
// this.$router.go({name: 'main'})//
this.$router.push({name: 'HelloWorld'})
}).catch(e => {
//
console.log(e)
})
}
ベストメソッド
register () {
console.log(this)
//
let params = {
user: this.userinfo.account,
password: this.userinfo.password,
directionId: this.userinfo.directionId
}
this.axios.post('/signup', params)
.then((response) => {
//
console.log(response)
}).catch(e => {
//
console.log(e)
})
}
生産環境経路問題生産環境で包装後の経路が間違っていることが分かりました。config下のindex.jsを修正しました。
build: {
// Template for index.html
index: path.resolve(__dirname, '../dist/index.html'),
// Paths
assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static',
assetsPublicPath: './', // assetsPublicPath: '/'
ソースの位置:https://gitee.com/react-module/node-vue締め括りをつける
以上はこの文章の全部の内容です。本文の内容は皆さんの学習や仕事に対して一定の参考となる学習価値を持っています。質問があれば、メッセージを書いて交流してください。ありがとうございます。