vue.js - Vuejs 组件 Prop 作为字符串

标签 vue.js vuejs2

我想将此 Prop 作为字符串传递:

<list-view :avatar="pictures"></list-view>
但我认为 Vue 认为我正在尝试调用一个方法,因为我收到了这些警告:

[Vue warn]: Property or method "pictures" is not defined on the instance but referenced during render. Make sure to declare reactive data properties in the data option.


[Vue warn]: Invalid prop: type check failed for prop "avatar". Expected String, got Undefined.


如何通过"pictures"作为字符串?

Vue.component('list-view', {
  props: {
    avatar: { type: String, required: true },
  },
  template: `<div>{{ avatar }}</div>`,
});

var app = new Vue({ el: '#app' });
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>

<div id="app">
  <list-view :avatar="pictures" ></list-view>
</div>

最佳答案

现在,Vue 正试图找到一个名为 pictures 的变量。作为属性值传递给子组件。

如果要在该内联表达式中指定字符串值,可以将该值括在引号中以使其成为字符串:

<list-view :avatar="'pictures'"></list-view>

或者,正如@Zunnii 在下面回答的那样,如果传递的值真的只是一个静态字符串,您可以简单地省略 v-bind冒号简写:
<list-view avatar="pictures"></list-view>

这样,avatar子组件的 prop 将被分配字符串值 "pictures" .

关于vue.js - Vuejs 组件 Prop 作为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45175527/

相关文章:

php - Laravel Vue - 在 json 响应上获得 Eloquent

javascript - 如何对提供/注入(inject)的 VUE 组件进行单元测试?

javascript - 如何使用函数 removingData 添加和删除嵌套数组 'items' 中的数据

css - 使用 VueJs2 和 webpack 的传单 CSS 导入问题

javascript - 家长补偿。没有听子 $emit 的声音

javascript - 使用动态组件和自定义事件时的 VueJS 警告

javascript - 如何区分Dropdown item事件?

vue.js - 如何在 vue 组件的 href 中添加条件?

javascript - 单元测试包含带有插槽的 Vuetify 数据表的 Vue 组件

javascript - 在普通 VueJS 项目中使用 Typescript 函数