Vue中给自定义属性添加属性

  定义组件时,如果是需要参数传递则,将要传递的参数放在`props`中,`props`可以是一个数组也可以是一个字典,字典中可以定义是否是必须传递和参数的类型。如下:

    porps:{
    books:{
        type: Array,
        required: true,
        default: ‘四大名著‘
    }
    }

  

  在传参时,需要在参数前加":"以示是动态数据而非静态数据。如下:

<book-template :books=‘books‘></book-template>

单一根元素:

  如果自定义的组件中,会出现很多html元素,那么根元素必须只能有一个,其余的元素必须包含在这个根元素中。

    错误示例:

<h4>{{title}}</h4>
<div>此标签没有包含在同一根元素下,而是和上面的标签并列</div>

  正确示例:

    <div id="father">
        <h4>{{title}}</h4>
        <div>此标签包含在同一根元素下,都包含在id为father的div下</div>
    </div>

整体的测试代码:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://cdn.jsdelivr.net/npm/vue"></script>
    <title>Vue中给自定义属性添加属性</title>
</head>

<body>
    <div id="app">
        <book-template :books=‘books‘></book-template>
    </div>
    <script>
        Vue.component("book-template", {
            props: [‘books‘],
            template: `
            <table>
            <thead>
                <tr>
                    <th>序号</th>
                    <th>书名</th>
                    <th>作者</th>
                </tr>
            </thead>
            <tbody>
                <tr v-for="book,index in books">
                    <td>{{index+1}}</td>
                    <td>{{book.title}}</td>
                    <td>{{book.author}}</td>
                </tr>
            </tbody>
        </table>
            `
        })
        new Vue({
            el: ‘#app‘,
            data: {
                books: [{
                        title: ‘水浒传‘,
                        author: ‘施耐庵‘,
                    },
                    {
                        title: ‘三国演义‘,
                        author: ‘罗贯中‘,
                    }
                ]
            }
        })
    </script>
</body>

</html>

原文地址:https://www.cnblogs.com/xshan/p/12336975.html

时间: 2024-08-03 11:07:53

Vue中给自定义属性添加属性的相关文章

iOS 中 为cagetory 添加属性

我们知道 在iOS中cagetory里面只能添加方法 ,如果我们想添加属性 就要用到 <objc/runtime.h> 中 OBJC_EXPORT void objc_setAssociatedObject(idobject, constvoid *key, id value, objc_AssociationPolicy policy)__OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_1);OBJC_EXPORT id objc_getAssoc

vue 中contenteditable=&quot;true&quot;添加可编辑属性后v-model双向绑定失效的解决办法

在项目中会遇到需要编辑单元格的双向绑定问题,v-model双向绑定会在添加contenteditable="true"属性后失效解决方法如下,亲测好用(v-html和@blur实现): <td class="width90" contenteditable="true" v-html="name3.LastProduct" @blur="name3.LastProduct=$event.target.inner

vue中如何动态添加readonly属性

动态绑定input的readonly属性 1 <inpu :readonly="status ? false : 'readonly'"> status 为 false时添加 readonly 属性,只读,false不要加引号! 原文地址:https://www.cnblogs.com/gopark/p/11172967.html

在vue中scss通过scoped属性设置局部变量如何设置框架样式

应用场景:在使用vue的大型单页应用页面中,我们可以通过使用scoped属性将当前组件的样式设置局部样式 界面被scoped局部化之后,不能覆盖界面里面的子组件样式,因为样式只对当前界面生效.(可以加/deep/解决) 原文地址:https://www.cnblogs.com/qdlhj/p/10405579.html

在Vue 中调用数据出现属性不存在的问题

这已经是我在调用数据时趟过几次的坑了,索性记录下来防止后面再犯: 一般我们请求数据来渲染一个页面的时候,请求下来的数据基本上都是数组或是对象,再通过列表循环和插值表达式渲染的页面:在data 中提前声明接收数据的变量时若为指定类型,就直接将数据渲染到页面,在浏览器的控制台基本上都会出现 "某某属性未定义" 的英文报错:下面举个例子: 先假设请求的是下面的json 数据: { "code": 0, "data":[ { "name&quo

vue中什么样的数据可以是在视图中显示

1. Vue中不可以添加不存在的属性,因为不存在的属性是没有getter和setter的. <div id="app"> {{msg.a}} {{msg.b}} </div> <script src="js/vue.js"></script> <script> let vm = new Vue({ el: "#app", data: { msg: { a: 1 } } }) vm.msg

Vue中过渡与动画

1.元素的显示与隐藏,实现过渡动画效果 (1)为目标元素添加一个父元素 transition,并添加name属性 在目标元素中添加v-show=“isShow”  isShow为Vue中的data 添加button按钮控制“isShow的值 <div id="demo"> <button @click="isShow = !isShow">点击这里变色</button> <transition name="isd&

利用runtime给分类添加属性

在分类中利用@property添加属性,只能声明实例变量的存取声明,而没有存取方法的实现,可以利用runtime实现. 在头文件中定义属性 @property (nonatomic, copy)NSString *name; 在.m文件中实现存取方法 static char *key = "name"; - (NSString *)name { // 根据关联的key,获取关联的值. return objc_getAssociatedObject(self, key); } - (vo

C# 操作 Word 修改word的高级属性中的自定义属性

word的类库使用的是word2007版本的类库,类库信息见下面图片,折腾了半天,终于找到入口,网上 很多说的添加或者修改word的高级属性中的自定义属性都是错误的,感觉都是在copy网上的代码,自己终于摸索成功了,Mark下. 直接上代码,代码如下: [csharp] view plaincopy using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.