Vue学习

is

2018-08-03  本文已影响0人  椰果粒
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>列表渲染</title>
    
    <script src="https://unpkg.com/vue@2.5.16/dist/vue.js"></script>
</head>
<body>
    <div id="app">
        <!-- is来避免一些错误 -->
        <!-- 
            这里因为:tbody里面只能渲染tr td,但是模板是row,导致渲染有问题
            这样就只能跑到tbody的外边去了,所以就会出错
            解决方法:用is
            <tr is="row"></tr> 的意思是:
                我渲染的是row这个组件,由于解析问题,我将row放在tr里边来表示用tr的方式正确渲染row组件
            
            相同的还有:
                ul里面的li
                ol里面的li
                select里面的option
            <ul>
                <li is="tem"></li>
            </ul>

            <select name="" id="">
                <option is="tem" value=""></option>
            </select>

            如果是根组件,data可以直接是{},但是如果是非根组件,data就得是一个函数
            注意子组件的data必须是函数,因为子组件可以被调用很多次,希望每个子组件都是单独的,互不影响的
         -->
         
        <table>
            <tbody>
                <tr is="row"></tr>
                <tr is="row"></tr>              
                <tr is="row"></tr>                                            
            </tbody>
        </table>
       

    </div>
    <script>
        Vue.component("row",{
            data : function(){
                return {
                    message : "this is a row"
                }
            },
            template : 
                `<tr>
                    <td>{{message}}</td>
                </tr>`
        })
        var vm = new Vue({
            el : "#app",
            
        })
    </script>
</body>
</html>
上一篇 下一篇

猜你喜欢

热点阅读