template.html 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <meta charset="utf-8">
  2. <div id="usa" v-partial="global"></div>
  3. <div id="japan">{{> local}}</div>
  4. <div id="repeat">{{> repeat}}</div>
  5. <div id="yielder"><yielder><p>{{a}}</p><p>{{b}}</p></yielder></div>
  6. <script type="text/v-template" id="test">
  7. <p>{{hi}}!</p>
  8. </script>
  9. <script type="text/v-template" id="repeat-template">
  10. <p v-repeat="items">{{title}}</p>
  11. </script>
  12. <script type="text/v-template" id="yield-template">
  13. <h1>before</h1>{{>yield}}<h2>after</h2>
  14. </script>
  15. <script src="../../../dist/vue.js"></script>
  16. <script>
  17. // Vue.config({debug:true})
  18. // direct usage
  19. var china = new Vue({
  20. id: 'china',
  21. template: '#test'
  22. })
  23. document.body.appendChild(china.$el)
  24. // setting value after compile also works,
  25. // as long as it has appeared in the template
  26. china.hi = '你好'
  27. // extended usage
  28. var Hawaii = Vue.extend({
  29. id: 'hawaii',
  30. template: '#test'
  31. })
  32. var hawaii = new Hawaii()
  33. document.body.appendChild(hawaii.$el)
  34. hawaii.hi = 'Aloha'
  35. // global partial
  36. Vue.partial('global', document.querySelector('#test').innerHTML)
  37. var usa = new Vue({
  38. el: '#usa'
  39. })
  40. usa.hi = 'Hi dude'
  41. // direct partial
  42. var japan = new Vue({
  43. el: '#japan',
  44. partials: {
  45. local: '#test'
  46. }
  47. })
  48. japan.hi = 'こんにちは'
  49. var repeat = new Vue({
  50. el: '#repeat',
  51. partials: {
  52. repeat: '#repeat-template'
  53. },
  54. data: {
  55. items: [{ title: 'Repeat' }]
  56. }
  57. })
  58. Vue.component('yielder', {
  59. template: '#yield-template',
  60. data: {
  61. a: 'A', b: 'B'
  62. }
  63. })
  64. new Vue({el:'#yielder'})
  65. </script>