javascript - 在单独的文件中使用 Javascript 对象
问题描述
我正在使用 Nativescript-vue。我试图在我的应用程序中添加一些逻辑,它不显示任何 html 或任何内容,它只是一个进行计算的库。我不知道如何使用它,我不断收到错误消息。
这是我尝试过的。
步枪.js
export function Rifle () { // no function name
this.firstName = "hi";
}
还尝试了这个和其他:
const observableModule = require("tns-core-modules/data/observable");
function Rifle () { // no function name
const myRifle = observableModule.fromObject({
firstName:"hello"
})
return myRifle;
}
module.exports = Rifle;
然后在我的 App.js 文件中,我将其导入。
import {Rifle} from "./ballisticlibrary/rifle";
我也尝试过使用 Require 代替。
然后我尝试在按钮点击时调用的 vue 方法中使用它。
GetRifle()
{
// return "hi";
this.msg= this.Rifle.firstName;
}
不断抛出错误:
Cannot read property 'firstName' of undefined"
System.err: An uncaught Exception occurred on "main" thread.
System.err: Calling js method onClick failed
System.err: TypeError: Cannot read property 'firstName' of undefined
解决方案
- 将评论移入答案以获得更好的格式 *
我从未使用过 vue,但我希望导出的 Rifle 值是一个函数或一个类。这表明您需要先创建该类的实例,然后再使用它。另外,我认为您无法使用“this”访问导入的类。你可以试试。
// your rifle class
export function Rifle () {
this.name = "AK-47";
this.damage = 5;
this.fire = () => {
console.log('Bang bang, '+ this.damage + ' damage done by ' + this.name);
}
}
// then import your rifle and instantiate it
const ak = new Rifle();
ak.fire();
// logs out Bang bang, 5 damage done by AK-47
推荐阅读
- r - 尝试使用 spplot 时,我不断收到此错误
- android - 屏幕共享或在电视上投射
- python - 如何使用 ANTLRv4 在 Python 中解析 Java 代码
- android - Android TextClock 削减了部分时间格式
- mysql - GCP 云 SQL - 250 个,共 2000 个
- python - 匹配第一个括号之间的整个字符串到最后一个相应的括号甚至多行
- powershell - 位置参数有问题
- airflow - XComs 在 composer-1.17.1-airflow-2.1.2 的 Xcom 部分中不可见
- arrays - freefem++ 中的数组函数
- ssh - 反向代理/SSH 隧道到站点