vue-cliプロジェクトはvue-resourceを使用してローカルのjsonデータを取得する方法(シミュレーションサービス側からデータを返す)
2882 ワード
最近vue-cliを使用して小さなプロジェクトを作りました.プロジェクトではvue-resourceを使用してバックグラウンドとデータのインタラクションを行う必要があるので、ローカルjsonデータを使用してバックグラウンドでデータを取得するプロセスを真似しました.vue-resourceのインストールとjsonの準備については、後述しませんが、、、以下は操作方法です.
1、まずプロジェクトの構造を紹介する:ローカルのjsonファイルを最外層とindexに置く.htmlが一緒にいて、一応dataと言います.json.
私のjsonデータファイルは大体こうです.
2、続いてbuildのdev-server.jsにコードを追加するには:
特に注意:変更後にcnpm run devを再実行します(dev-server.jsとdb.jsonが変更された場合、この手順が必要であることに注意してください).
以上のコードを説明する:1』まずルートディレクトリの下のdataを要求する.jsonファイルは、ファイルの内容を取得してappData変数に値を割り当て、各フィールドデータを取得し、変数seller、goods、ratingsをそれぞれ定義して値を割り当てます.2』の後、インタフェース(要求パス)を設定し、要求が成功した後のコールバック関数を用いて、要求側に返されるデータを処理する.(errnoというjsリクエストのcode値のようなもの)3」最後に、このRouterオブジェクトを「使用」し、apiインタフェースを統一的に管理するために、要求するルーティングの前に「api/」を加えて、apiデータを提供するためにこのパスが専用であることを示します.この「インタフェース」では、「http://localhost:8080/api/sites」パスするとdbに戻ります.jsonのsitesオブジェクトをください.
3、resouceを使用してこれらのデータを取得し、
1、まずプロジェクトの構造を紹介する:ローカルのjsonファイルを最外層とindexに置く.htmlが一緒にいて、一応dataと言います.json.
私のjsonデータファイルは大体こうです.
{
"seller": {
"name": " ( )",
"description": " ",
"bulletin": " 。",
"avatar": "http://static.galileo.xiaojukeji.com/static/tms/seller_avatar_256px.jpg",
},
"goods": [
{
"name": " ",
"type": -1
},
{
"name": " ",
"type": -1
}
],
"ratings": [
{
"username": "3******c",
"avatar": "http://static.galileo.xiaojukeji.com/static/tms/default_header.png",
"recommend": [
" ",
" "
]
},
{
"username": "2******3",
"avatar": "http://static.galileo.xiaojukeji.com/static/tms/default_header.png",
"recommend": [
" "
]
}
]
}
2、続いてbuildのdev-server.jsにコードを追加するには:
// --
var appData = require('../data.json');
var seller = appData.seller;
var goods = appData.goods;
var ratings = appData.ratings;
var apiRoutes = express.Router();
apiRoutes.get('/seller', function (req, res) {
res.json({
errno: 0,
data: seller
});
});
apiRoutes.get('/goods', function (req, res) {
res.json({
errno: 0,
data: goods
});
});
apiRoutes.get('/ratings', function (req, res) {
res.json({
errno: 0,
data: ratings
});
});
app.use('/api', apiRoutes);
// --
特に注意:変更後にcnpm run devを再実行します(dev-server.jsとdb.jsonが変更された場合、この手順が必要であることに注意してください).
以上のコードを説明する:1』まずルートディレクトリの下のdataを要求する.jsonファイルは、ファイルの内容を取得してappData変数に値を割り当て、各フィールドデータを取得し、変数seller、goods、ratingsをそれぞれ定義して値を割り当てます.2』の後、インタフェース(要求パス)を設定し、要求が成功した後のコールバック関数を用いて、要求側に返されるデータを処理する.(errnoというjsリクエストのcode値のようなもの)3」最後に、このRouterオブジェクトを「使用」し、apiインタフェースを統一的に管理するために、要求するルーティングの前に「api/」を加えて、apiデータを提供するためにこのパスが専用であることを示します.この「インタフェース」では、「http://localhost:8080/api/sites」パスするとdbに戻ります.jsonのsitesオブジェクトをください.
3、resouceを使用してこれらのデータを取得し、
export default{
data () {
return {
seller: {}
};
},
created () {
this.$http.get('/api/seller').then((response) => {
// console.log(response);
response = response.body;
const ERR_OK = 0;
if (response.errno === ERR_OK) {
let data = response.data;
console.log(data);
}
});
},
components: {
'v-header': header
}
};