无法在 NativeScript Vue 模态中访问道具

Posted

技术标签:

【中文标题】无法在 NativeScript Vue 模态中访问道具【英文标题】:Can't Access Props in NativeScript Vue Modal 【发布时间】:2019-07-27 01:18:31 【问题描述】:

我正在使用模态显示 listView,我想将列表作为数组传递给模态。我这样称呼模态:

this.$showModal(Picker,  props:  list: [

   name: "Item 1" ,
   name: "Item 2" ,
   name: "Item 3" 

]);

模态加载正常,console.log时可以看到模态中的道具

created: function()
  console.log(this.list);
, 

但是,我无法访问模板中的道具或循环它们。

 <ListView for="item in listOfItems">
   <v-template>
     <Label :text="item.name" class="listItem" />
   </v-template>
 </ListView>

我也试过了:

<ListView :for="item in $props.list">

模态组件的完整代码如下:

<template>
  <Page>

     <ListView for="item in listOfItems">
       <v-template>
        <Label :text="item.name" class="listItem" />
       </v-template>
     </ListView>

  </Page>
</template>

<script>

  export default 

    props: ["list"],

    created: function()
      console.log(this.list);
    ,

    data()
      return 
        listOfItems: this.list
      
    
  

</script>

我做错了什么?

【问题讨论】:

【参考方案1】:

&lt;ListView for="item in listOfItems"&gt; 更改为&lt;ListView for="item in list"&gt;

【讨论】:

不起作用:(由于某种原因,这些道具似乎无法从模板中访问。我也尝试传入一个值并将其添加到标签的文本中,但它只是似乎无法访问它。 不,它只是加载一个空白模式。 嗯。您能否提供一个有效的jsFiddle 链接(对调试很有帮助)?【参考方案2】:

不知道为什么,但是当我改变了 数据()返回 使变量名相同, 动物:动物, 蔬菜:蔬菜 成功了。

不必对字符串或整数执行此操作,只需对对象执行此操作。

【讨论】:

【参考方案3】:

&lt;ListView for="item in $props.list"&gt;

去掉冒号?

在使用 NativeScript-Vue 编码时,我正在删除不必要的 for 头部的 : 并引用 $props 属性。

【讨论】:

以上是关于无法在 NativeScript Vue 模态中访问道具的主要内容,如果未能解决你的问题,请参考以下文章

AbsoluteLayout 框架中的 NativeScript Vue 模式

Nativescript-Vue 超时后关闭模式

在 nativescript-vue 视图模式组件中显示数组数据

无法在 nativescript vue 中导入 @nota/nativescript-webview-ext/vue

在 nativescript 中的模态中打开模态

无法使用 Nativescript-Vue GridLayout 显示项目列表