| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- <style type="text/css">
- p {
- position: relative;
- }
- p:not(.ancestor):before {
- position: absolute;
- top: 0;
- left: -22px;
- content: "└ ";
- color: #F00;
- }
- </style>
- <meta charset="utf8">
- <div id="grandpa" name="Andy">
- <p class="ancestor">{{name}} {{family}}</p>
- <div v-component="man" name="Jack">
- <p class="jack">{{name}}, son of {{$parent.name}}</p>
- <div v-component="man" name="Mike">
- <p class="mike">{{name}}, son of {{$parent.name}}</p>
- <div v-component="offspring" name="Tim" class="tim"></div>
- <div v-component="offspring" name="Tom" class="tom"></div>
- </div>
- <div v-component="man" name="Jason">
- <p class="jason">{{name}}, son of {{$parent.name}}</p>
- <div v-component="offspring" name="Andrew" class="andrew"></div>
- </div>
- </div>
- </div>
- <script type="text/x-template" id="offspring-template">
- <p>{{name}}, son of {{$parent.name}}, grandson of {{$parent.$parent.name}}, great-grandson of {{$root.name}}, and offspring of family {{family}}.</p>
- </script>
- <script src="../../../dist/vue.js"></script>
- <script>
- Vue.config({
- debug: true
- })
- var Man = Vue.extend({
- paramAttributes: ['name']
- })
- var Offspring = Man.extend({
- template: '#offspring-template'
- })
- Vue
- .component('man', Man)
- .component('offspring', Offspring)
- new Man({
- el: '#grandpa',
- data: {
- family: 'Johnson'
- }
- })
-
- </script>
|