facebook twitter hatena line email

「Php/laravel/laravel5/laravelmix/vue」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(vue動作確認)
(example.vue定義場所)
行63: 行63:
 
</script>
 
</script>
 
  </nowiki>
 
  </nowiki>
 +
 +
==クリック処理など==
 +
<nowiki><template>
 +
    <div class="container">
 +
        <div class="row">
 +
            <div class="col-md-8 col-md-offset-2">
 +
                <div class="panel panel-default">
 +
                    <div class="panel-body">
 +
                        <input type="text" v-model="name" />
 +
                        {{ name }}
 +
                        {{ age }}
 +
                        <input type="button" @click="click1" />
 +
                    </div>
 +
                </div>
 +
            </div>
 +
        </div>
 +
    </div>
 +
</template>
 +
<script>
 +
    export default {
 +
        data() {
 +
          return {
 +
            name: 'taro',
 +
            age: 20
 +
          }
 +
        },
 +
        mounted() {
 +
          this.init()
 +
        },
 +
        methods: {
 +
          init() {
 +
            this.age = 21
 +
          },
 +
          click1() {
 +
            this.name = 'jiro'
 +
          }
 +
        }
 +
    }
 +
</script></nowiki>
  
 
==参照==
 
==参照==

2018年5月16日 (水) 12:24時点における版

vue動作確認

laravel5.4以上にデフォで入ってるvueのexampleコンポーネントを表示

routes/web.php

Route::get('/vue1', function () {
    return view('vue1');
});

resources/views/vue1.blade.php

<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Hello Vue</title>
    <link rel="stylesheet" href="css/app.css"/>
    <script type="text/javascript">
        window.Laravel = window.Laravel || {};
        window.Laravel.csrfToken = "{{csrf_token()}}";
    </script>
</head>
<body>
<div id="app">
    <example></example>
</div>
<script src="js/app.js"></script>
</body>
</html>

"ttp://~/vue1"を表示し以下のように表示されれば成功

 Example Component
 I'm an example component!

出ない場合はapp.jsがvueのタグよりも下にあるか確認する

example.vue定義場所

resources/assets/js/app.js

Vue.component('example', require('./components/Example.vue'));

resources/assets/js/components/Example.vue

<template>
    <div class="container">
        <div class="row">
            <div class="col-md-8 col-md-offset-2">
                <div class="panel panel-default">
                    <div class="panel-heading">Example Component</div>
                    <div class="panel-body">
                        I'm an example component!
                    </div>
                </div>
            </div>
        </div>
    </div>
</template>
<script>
    export default {
        mounted() {
            console.log('Component mounted.')
        }
    }
</script>
 

クリック処理など

<template>
    <div class="container">
        <div class="row">
            <div class="col-md-8 col-md-offset-2">
                <div class="panel panel-default">
                    <div class="panel-body">
                        <input type="text" v-model="name" />
                        {{ name }}
                        {{ age }}
                        <input type="button" @click="click1" />
                    </div>
                </div>
            </div>
        </div>
    </div>
</template>
<script>
    export default {
        data() {
          return {
            name: 'taro',
            age: 20
          }
        },
        mounted() {
          this.init()
        },
        methods: {
          init() {
            this.age = 21
          },
          click1() {
            this.name = 'jiro'
          }
        }
    }
</script>

参照

http://blog.asial.co.jp/1496

vue基本について

javascript/vue [ショートカット] を確認する