template.html 1.9 KB

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