extend.html 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <div id="log"></div>
  2. <div id="test">
  3. <div class="dir" v-hola="dirMsg"></div>
  4. <div class="filter">{{filterMsg | nodigits}}</div>
  5. <div class="partial" v-partial="partial-test"></div>
  6. <div class="vm" v-component="vm-test">{{vmMsg}}</div>
  7. <div class="vm-w-model" v-component="vm-w-model" v-with="vmData">{{selfMsg + msg}}</div>
  8. </div>
  9. <div id="child">
  10. <div class="cvm" v-component="vm-test">{{vmMsg}}</div>
  11. </div>
  12. <script src="../../../dist/vue.js"></script>
  13. <script>
  14. // Vue.config({debug:true})
  15. var log = document.getElementById('log')
  16. var T = Vue.extend({
  17. created: function () {
  18. log.textContent += ' T created'
  19. },
  20. ready: function () {
  21. log.textContent += ' T ready'
  22. },
  23. components: {
  24. 'vm-test': {
  25. data: {
  26. vmMsg: 'component works'
  27. }
  28. }
  29. },
  30. filters: {
  31. nodigits: function (value) {
  32. return value.replace(/\d/g, '')
  33. }
  34. }
  35. })
  36. // test late asset addition
  37. T.directive('hola', function (value) {
  38. this.el.innerHTML = value + ' works'
  39. })
  40. T.partial('partial-test', '{{partialMsg}}')
  41. T.component('vm-w-model', {
  42. ready: function () {
  43. this.selfMsg = 'component + with '
  44. }
  45. })
  46. var C = T.extend({
  47. created: function () {
  48. log.textContent += ' C created'
  49. },
  50. ready: function () {
  51. log.textContent += ' C ready'
  52. }
  53. })
  54. var test = new T({
  55. el: '#test',
  56. data: {
  57. dirMsg: 'directive',
  58. filterMsg: 'fi43l132ter5 w12345orks',
  59. partialMsg: 'partial works',
  60. vmData: {
  61. msg: 'works'
  62. }
  63. }
  64. })
  65. new C({
  66. el: '#child'
  67. })
  68. </script>