php - vue がリスト ページをレンダリングする、最初のデータ読み込みの問題
高洛峰
高洛峰 2017-05-16 13:01:06
0
7
846

リスト ページがあり、ページのレンダリングに vue の v-for が使用されているとします。
つまり、ページがロードされると、v-for のデータがページのロード時に ajax 経由でリクエストされます。
または、データはバックエンド プログラムによってループアウトされますか?
次のようなもの:

<p id="data">
    <テーブルクラス="テーブルテーブル-ストライプテーブル-ホバー">
        <tr v-for="データ内の Todo">
            <td>{{todo.title}}</td>
            <td>{{todo.learn_name}}</td>
            <td>{{todo.is_exist}}</td>
            <td>{{todo.is_download}}</td>
        </tr>
    </テーブル>
</p>
 var data = new Vue({
        el:'#データ',
        データ:{
            データ:[
                <?php foreach ($data as $value):?>
                {
                    タイトル: '<?php echo $value["title"]?>'
                    learn_name: '<?php echo $value["learn_name"]?>',
                    is_exist: '<?php echo $value["is_exist"]?>',
                    is_download: '<?php echo $value["is_download"]?>'
                }、
                <?php endforeach;?>
            】
        }
    });
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全員に返信(7)
淡淡烟草味

ajax経由でデータをリクエストする方が良いです

フロントエンドとバックエンド間の結合が低いほど良い

いいねを押す +0
过去多啦不再A梦

上記で行ったことには何も問題はありません。

しかし、最初のロードの問題について言及したので、もう少しお話します。

ページはすべて PHP によって直接レンダリングされているようです。そのため、最初のページのデータをキャッシュに直接出力すると、最初の Ajax リクエストが保存され、データが直接レンダリングされ、読み込み速度が向上します。最初の画面

SEO を考慮する必要がある場合は、ページが最初に読み込まれるときに php を使用して HTML 構造を直接出力し、その後のページめくりリクエストには vuejs の v-ifv-else ロジックと組み合わせた ajax を使用することも検討できます。

いいねを押す +0
Peter_Zhu

データに初期値を与えて、ajaxがデータを取得した後に置き換えるだけでOKです。

いいねを押す +0
过去多啦不再A梦

vueがマウントされたら、メソッドを呼び出して非同期にデータを取得します

いいねを押す +0
为情所困

Vue を使用しているので、バックエンド ループはもう使用しないでください。Vue はデータ駆動型であるため、これらのデータ処理と表示の問題は Vue に任せてください。

いいねを押す +0
Peter_Zhu

バックエンド機能をAPI化し、Vueを使ってフロントエンドを呼び出すことができます。混ぜる必要はありません。

vue するにはいじめが多すぎるため、データを取得できません。

いいねを押す +0
phpcn_u1582

初めてロードするときにデータを取得し、作成したメソッドでアンロードするためにvue-resourceを使用します。
html:

リーリー

js:

リーリー

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート