Vuejs2 在nativescript vue应用程序中从js文件导入字符串

Vuejs2 在nativescript vue应用程序中从js文件导入字符串,vuejs2,nativescript-vue,Vuejs2,Nativescript Vue,我在db文件夹中有一个db.js文件,我想在其中存储长文本以包含在我的应用程序中: const db = { sodiumlaurylsulfate: "Essentiellement exploité comme tensioactif (qui permet aux corps gras de la formule de se disperser dans l’eau), le sodium lauryl sulfate est un irritant bien connu, les

我在db文件夹中有一个db.js文件,我想在其中存储长文本以包含在我的应用程序中:

const db = {
    sodiumlaurylsulfate: "Essentiellement exploité comme tensioactif (qui permet aux corps gras de la formule de se disperser dans l’eau), le sodium lauryl sulfate est un irritant bien connu, les scientifiques le savent depuis des décennies. Il n’est qu’à compulser leurs publications pour s’en convaincre : ici on le désigne comme « l’irritant standard », là, on introduit le propos par « le sodium lauryl sulfate (SLS), un tensioactif fréquemment utilisé pour induire expérimentalement des dermatites de contact »… Cet ingrédient est malgré tout présent dans un très grand nombre de références. Mais ce sont le plus souvent des produits rincés, les doses ne sont pas forcément très élevées et certains consommateurs le supportent bien. Chez d’autres, en revanche, les produits lavants laissent la peau inconfortable (attention en particulier avec les produits pour enfants et ceux destinés aux zones intimes) et les dentifrices provoquent des aphtes. A noter que le sodium laureth sulfate est nettement moins irritant."
}

module.exports = {db};
在我的模板中,我这样称呼它:

 <template>
    <StackLayout>
        <TextView :text="db.sodiumlaurylsulfate"></TextView>
    </StackLayout>
</template>

<script>
import { db } from "../db/db.js";
export default {
    mounted() {
       console.log(db.sodiumlaurylsulfate) // this works !
    }
}
</script>

从“./db/db.js”导入{db};
导出默认值{
安装的(){
console.log(db.sodiumlaurylsulfate)//这很有效!
}
}
当我将我的文本记录到挂载的日志中时,它会工作,但会在TextView组件中出错

System.err: com.tns.NativeScriptException:
System.err: Calling js method getView failed
System.err: TypeError: Cannot read property 'sodiumlaurylsulfate' of 
undefined
System.err: File: "<unknown>, line: 3, column: 1489
System.err: StackTrace:
System.err:com.tns.NativeScriptException:
System.err:调用js方法getView失败
System.err:TypeError:无法读取的属性“sodiumlaurylsulfate”
未定义
System.err:文件:,第3行,第1489列
System.err:StackTrace:

似乎我在做一些不好的事情。

模板中的属性是根据组件状态而不是词法范围进行评估的。将
db
指定为状态属性(在
data()
部分),它应该可以工作:

import { db } from "../db/db.js";
export default {
    data() {
      return { db }
    },
    mounted() {
       console.log(this.db.sodiumlaurylsulfate); // should work too
    }
}