发表于: 2020-02-13 22:28:27

1 1343


今天完成的事情:

<div id="app">
    <runoob></runoob>
</div>
<script>
// 注册
Vue.component('runoob', {
  template: '<h1>自定义组件!</h1>'
})
// 创建根实例
new Vue({
  el: '#app'
})
</script>
局部组件
<div id="app">
    <runoob></runoob>
</div>
<script>
var Child = {
  template: '<h1>自定义组件!</h1>'
}
// 创建根实例
new Vue({
  el: '#app',
  components: {
    // <runoob> 将只在父模板可用
    'runoob': Child
  }
})
</script>
Prop
prop 是父组件用来传递数据的一个自定义属性。
父组件的数据需要通过 props 把数据传给子组件,子组件需要显式地用 props 选项声明 "prop":
<div id="app">
    <child message="hello!"></child>
</div>
<script>
// 注册
Vue.component('child', {
  props: ['message'],   // 声明 props
  template: '<span>{{ message }}</span>' //同样也可以在vm实例中像“this.message”这样使用
})
// 创建根实例
new Vue({
  el: '#app'
})
</script>
<blog-post 
    v-for="post in posts" 
    v-bind:key="post.id" 
    v-bind:title="post.title" 
></blog-post>
new Vue({ 
    el: '#blog-post-demo', 
    data: { 
        posts: [ 
            { id: 1, title: 'My journey with Vue' }, 
            { id: 2, title: 'Blogging with Vue' }, 
            { id: 3, title: 'Why Vue is so fun' } 
        ] 
    } 
})
动态Prop
类似于用 v-bind 绑定 HTML 特性到一个表达式,也可以用 v-bind 动态绑定 props 的值到父组件的数据中。每当父组件的数据变化时,该变化也会传导给子组件:
<div id="app">
    <div>
      <input v-model="parentMsg">
      <child v-bind:message="parentMsg"></child>
    </div>
</div>
<script>
// 注册
Vue.component('child', {
  // 声明 props
  props: ['message'],
  // 同样也可以在 vm 实例中像 “this.message” 这样使用
  template: '<span>{{ message }}</span>'
})
// 创建根实例
new Vue({
  el: '#app',
  data: {
    parentMsg: '父组件内容'
  }
})
</script>
将 v-bind 指令将 todo 传到每一个重复的组件中:
注意: prop 是单向绑定的:当父组件的属性变化时,将传导给子组件,但是不会反过来。
<div id="app">
    <ol>
    <todo-item v-for="item in sites" v-bind:todo="item"></todo-item>
    </ol>
</div>
<script>
Vue.component('todo-item', {
  props: ['todo'],
  template: '<li>{{ todo.text }}</li>'
})
new Vue({
  el: '#app',
  data: {
    sites: [
      { text: 'Runoob' },
      { text: 'Google' },
      { text: 'Taobao' }
    ]
  }
})
</script>


明天计划的事情:

修键盘。。。


返回列表 返回列表
评论

    分享到