![](/img/trans.png)
[英]How do I get a variable from one function on a js file and use it for another function on another js file?
[英]How do I use the data in an object from one JS file in another JS file?
我正在使用ES6,並且嘗試將名為Users的方法中的數據導出到另一個js文件中的另一個方法中:
users.js
export default class Users {
var User() {
Newuser = {
firstName: 'Tony',
lastname: 'franklyn',
email: `franky@gmail.com`,
password: 'Franklin123'
}
return Newuser;
}
}
login.js
import Users from '../data/user';
const newie = new Users();
export default class Signup {
async Register() {
await t
.typeText(this.firstName,newie.firstName)
}
}
每當我的程序執行時,我都會收到TypeError:無法讀取未定義的屬性“ firstName”。
我真的對此感到困惑,請注意我沒有太多的js經驗。
當然!
問題在於NewUsers被包裝在名為User()
的方法下。 代替newie.firstName
,它應該是: newie.User().firstName
;
幾件事情:
const
和let
。 避免使用var
。 這將防止全局范圍被污染,並且變量不會被覆蓋。 因此,代替NewUsers
,應該是:
export default class Users {
// This is a method name.
// Methods do not use var, const or let
User() {
// This would be the variable.
// You would use const, because you are not
// reassigning (using equals sign) its content.
const Newuser = {
firstName: 'Tony',
lastname: 'franklyn',
email: `franky@gmail.com`,
password: 'Franklin123'
}
return Newuser;
}
}
users.js
module.exports = {
firstName: 'Tony',
lastname: 'franklyn',
email: `franky@gmail.com`,
password: 'Franklin123'
}
如果您想要多個用戶,請創建一個數組:
module.exports = [{
firstName: 'Tony',
lastname: 'franklyn',
email: `franky@gmail.com`,
password: 'Franklin123'
},
{
firstName: 'Pedro',
lastname: 'Smith',
email: `smith@gmail.com`,
password: 'Smithy123'
}
}
]
並在login.js中
// When you import Users, it will bring the properties you defined above.
import Users from '../data/user';
export default class Signup {
async Register() {
await t
.typeText(this.firstName,Users.firstName)
}
}
//如果您采用多用戶方法,則:
代替Users.firstName
,您將使用:
// Fraklyn
Users[0].firstName
// Pedro
Users[1].firstName
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.