Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
  
  <div id="app">
    <h2 class="mt-3">物件傳參考特性 及 尚未宣告的變數</h2>
    <div>
      <card :user-data="user" v-if="user.picture"></card>
    </div>
  </div>
  
  <script type="text/x-template" id="card">
    <div class="card">
      <img class="card-img-top" :src="user.picture.large" alt="Card image cap">
      <div class="card-body">
        <h5 class="card-title">{{ user.name.first }} {{ user.name.last }}</h5>
        <p class="card-text">{{ user.email }}</p>
      </div>
      <div class="card-footer">
        <input type="email" class="form-control" v-model="user.email">
      </div>
    </div>
  </script>
  
  <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.0.3/vue.js"></script>
  <script src="https://code.jquery.com/jquery-3.1.0.js"></script>
</body>
</html>
 
Vue.component('card', {
  props: ['userData'],
  template: '#card',
  data: function () {
    return {
      user: this.userData
    }
  }
});
var app = new Vue({
  el: '#app',
  data: {
    user: {},
  },
  created: function () {
    var vm = this;
    
    fetch('https://randomuser.me/api/')
    .then(function(response) {
      return response.json();  
    })
    .then(function(data) {
      console.log(data);
      vm.user = data.results[0];
    });
    
  }
});
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
anonymouspro
0viewers