Vue.js 如何在vuejs 2.5.x中正确使用插槽作用域?

Vue.js 如何在vuejs 2.5.x中正确使用插槽作用域?,vue.js,vuejs2,Vue.js,Vuejs2,我试图利用我们的Vue应用程序中的一项功能(旧语法v2.5.x):但它根本不起作用 这是我的子组件: <template> <div class="hello"> <h1>{{ msg }}</h1> <slot></slot> </div> </template> <script> export default { name: "ChildComponent

我试图利用我们的Vue应用程序中的一项功能(旧语法v2.5.x):但它根本不起作用

这是我的子组件:

<template>
  <div class="hello">
    <h1>{{ msg }}</h1>
    <slot></slot>
  </div>
</template>

<script>
export default {
  name: "ChildComponent",
  props: {
    msg: String
  },
  data() {
    return {
      foo: "bar"
    };
  }
};
</script>

{{msg}}
导出默认值{
名称:“子组件”,
道具:{
msg:String
},
数据(){
返回{
傅:“酒吧”
};
}
};
我尝试从主要组件中使用它,如下所示:

<template>
  <div id="app">
    <ChildComponent msg="Hello Vue in CodeSandbox!">
      <ul slot-scope="props">
        <li>foo: {{props.foo}}</li>
        <li>msg: {{props.msg}}</li>
      </ul>
    </ChildComponent>
  </div>
</template>

<script>
import ChildComponent from "./components/ChildComponent";

export default {
  name: "App",
  components: {
    ChildComponent
  }
};
</script>

  • foo:{{props.foo}
  • msg:{{props.msg}
从“/components/ChildComponent”导入ChildComponent; 导出默认值{ 名称:“应用程序”, 组成部分:{ 子组件 } };
下面是指向codesandbox示例的链接:


我做错了什么?谢谢大家!

您混淆了普通插槽和作用域插槽

假设您需要作用域插槽,则需要更改以下内容:


为此:



它们不会自动通过。

好的,它可以工作。但我没有在官方教程中看到这一点,我错过了吗?请你告诉我写在哪里好吗?@Anatoly,上面写满了。请注意,在2.5和2.6之间,孩子的
行为没有发生变化,只是家长的属性发生了变化。谢谢@skirtle,我现在看到了。他们在同一本手册中混合了新旧版本的功能,这让我很困惑。非常感谢你!