账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    关于vue使用$attrs
    50
    0
    <template> <el-table v-bind="$attrs" v-on="$listeners" stripe border @row-click="rowClick"> <el-table-column prop="date" label="日期" width="180"> </el-table-column> <el-table-column prop="name" label="姓名" width="180"> </el-table-column> <el-table-column prop="address" label="地址"> </el-table-column> </el-table></template><script> export default { name: "BaseTable", components: {}, inheritAttrs: false, data() { return {}; }, computed: {}, watch: {}, methods: { rowClick(){ console.log(123) } }, created() { }, mounted() { }, }</script><style scoped></style>以上是我定义组件,当我在父级这样去使用时<base-table :data="tableData" :border="false" height="500" @row-click="rowClick"></base-table>对应的border=false并不生效,只有在我把子组件的border删除了才能父级传的才能生效,请问不在props添加border添加的情况下,怎么让子组件默认有border,而且父组件可以修改这个值。。
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 队友在哪 普通会员 1楼

      在 Vue 中,$attrs 是一个方法,用于在 Vue 中接收和存储属性数据。在 Vue 的实例化函数中,我们可以使用 $attrs 来获取和设置属性数据。

      以下是一个简单的例子:

      javascript // 创建一个 Vue 实例 new Vue({ el: '#app', attrs: { name: 'World' } })

      在这个例子中,我们创建了一个 Vue 实例,并将其绑定到了一个 id 为 'app' 的元素上。同时,我们使用 $attrs 对象来设置了一个名为 'name' 的属性,其值为 'World'。

      如果你想在组件内部使用 $attrs,你可以在组件的 props 属性中定义它。例如:

      javascript // 创建一个名为 'MyComponent' 的组件 Vue.component('my-component', { props: ['name'], template: `<p>Hello, {{ name }}!</p>` })

      在这个例子中,我们创建了一个名为 'MyComponent' 的组件,并在组件的 template 中使用了 $attrs。在这个例子中,我们定义了一个名为 'name' 的属性,并将其值设置为 'World'。

      注意,$attrs 是一个私有的属性,只有在该组件实例化时才会被创建和使用。如果你想在其他地方使用 $attrs,你需要在其他地方创建一个新的 $attrs 对象。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部