| 受到html本身的一些限制,像<ul>、<ol>、<table>、<select>这样的元素里允许包含的元素有限制,而另一些像<option>这样的元素只能出现在某些特定元素的内部。变通的方案是使用特殊的 is 特性   应当注意,如果使用来自以下来源之一的字符串模板,则没有这些限制:   --------<script type="text/x-template">   --------<javascript>内联模板字符串   --------.vue组件   这句话意思是:   这样不可以   <body>     <div id="app">         <select>             <optioncomp></optioncomp>         </select>     </div>     <script src="lib/vue.js"></script>     <script>         new Vue({             el: '#app',             components:{                 'optioncomp':{                     template: '<option >a</option>'                 }             }         })     </script> </body> 但是用 is 特殊属性可以 <body>     <div id="app">         <select>             <option is="optioncomp"></option>         </select>     </div>     <script src="lib/vue.js"></script>     <script>         new Vue({             el: '#app',             components:{                 'optioncomp':{                     template: '<option >a</option>'                 }             }         })     </script> </body> 或者temp模板标签也可以 <body>     <div id="app">         <select>             <option is="optioncomp"></option>         </select>           <!--模板内容存放区域-->         <script type="x-template" id="optioncompTemp">             <option >a</option>         </script>     </div>     <script src="lib/vue.js"></script>     <script>         new Vue({             el: '#app',             components:{                 'optioncomp':{                     template: '#optioncompTemp'                 }             }         })     </script> </body> 或者内联模板字符串也行 <body>     <div id="app">         <selectcomp></selectcomp>     </div>     <script src="lib/vue.js"></script>     <script>         Vue.component('optioncomp',{             template: '<option >a</option>'         });         new Vue({             el: '#app',             components:{                 'selectcomp':{                     template: ' <select> <optioncomp></optioncomp></select>'                 }             }         })     </script> </body> 当然了,单页应用的组件文件xxx.vue更是没问题了,就不演示了。 受到html本身的一些限制,像<ul>、<ol>、<table>、<select>这样的元素里允许包含的元素有限制,而另一些像<option>这样的元素只能出现在某些特定元素的内部。变通的方案是使用特殊的 is 特性 应当注意,如果使用来自以下来源之一的字符串模板,则没有这些限制: --------<script type="text/x-template"> --------<javascript>内联模板字符串 --------.vue组件 这句话意思是: 这样不可以    
  
  
      
   
  
      
   
  
      
   
  
      
    
    
    <optioncomp> 
    </optioncomp> 
    
  
      
   
  
      
   
  
      
    
    
    <script src="lib/vue.js"> 
    </script> 
    
  
      
   
  
      
   
  
      
   
  
      
   
  
      
   
  
      
    
    
    template: 
    '<option >a</option>' 
    
  
      
   
  
      
   
  
      
   
  
      
   
  
      
   但是用 is 特殊属性可以    
  
  
      
   
  
      
   
  
      
   
  
      
    
    
    <option is="optioncomp"> 
    </option> 
    
  
      
   
  
      
   
  
      
    
    
    <script src="lib/vue.js"> 
    </script> 
    
  
      
   
  
      
   
  
      
   
  
      
   
  
      
   
  
      
    
    
    template: 
    '<option >a</option>' 
    
  
      
   
  
      
   
  
      
   
  
      
   
  
      
   或者temp模板标签也可以  
  
  
      
   
  
      
   
  
      
   
  
      
    
    
    <option is="optioncomp"> 
    </option> 
    
  
      
   
  
      
   
      
   
  
      
   
  
      
    
    
    <script type="x-template" id="optioncompTemp"> 
    
  
      
   
  
      
   
  
      
   
  
      
    
    
    <script src="lib/vue.js"> 
    </script> 
    
  
      
   
  
      
   
  
      
   
  
      
   
  
      
   
  
      
    
    
    template: 
    '#optioncompTemp' 
    
  
      
   
  
      
   
  
      
   
  
      
   
  
      
   或者内联模板字符串也行    
  
  
      
   
  
      
   
  
      
    
    
    <selectcomp> 
    </selectcomp> 
    
  
      
   
  
      
    
    
    <script src="lib/vue.js"> 
    </script> 
    
  
      
   
  
      
    
   
     Vue.component( 
    'optioncomp',{ 
    
  
      
    
    
    template: 
    '<option >a</option>' 
    
  
      
   
  
      
   
  
      
   
  
      
   
  
      
   
  
      
    
    
    template: 
    ' <select> <optioncomp></optioncomp></select>' 
    
  
      
   
  
      
   
  
      
   
  
      
   
  
      
   当然了,单页应用的组件文件xxx.vue更是没问题了,就不演示了。 |