如何制作具有2个条件的按钮?
How to make a button with 2 conditions?
我是 js 的初级开发人员,正在学习网络平台 Meteor。我怀疑如何使按钮在数据库中文档的一个组件中改变 true 和 false(布尔值)之间的状态。
比如我有这样的文档:[{ name: 'Name', surname: 'Surname', active: 'true' }]。
我需要能够在我的应用程序中使用 UI 将活动条件从 true 更改为 false,反之亦然。
感谢您的帮助!
也许像这样?
let doc = [{ name: 'Name', surname: 'Surname', active: 'true' }];
document.querySelector('#btn-toggle').addEventListener('click', () => {
doc[0].active === 'true' ? doc[0].active = 'false' : doc[0].active = 'true';
console.log(doc)
});
<button id='btn-toggle'>Toggle 'active'</button>
顺便说一句,我会在对象中使用真布尔值,而不是字符串:
let doc = [{ name: 'Name', surname: 'Surname', active: true }];
let doc = [{ name: 'Name', surname: 'Surname', active: true }];
document.querySelector('#btn-toggle').addEventListener('click', () => {
doc[0].active = !doc[0].active;
console.log(doc)
});
<button id='btn-toggle'>Toggle 'active'</button>
为此,您需要更新数据库中的文档。
一个好的做法是在服务器端执行更新,在 Meteor 中,这是通过 Meteor.methods() 完成的。
在服务器启动时创建用户的同一个文件中,您将添加一些如下所示的代码:
Meteor.methods({
'toggleActiveStateUser'(userId) {
const user = User.findOne(userId);
if (!user) {
return;
}
User.update({_id: userId}, {$set: {'active': !user.active}});
}
});
在您的客户端代码中,我们可以在触发按钮事件时通过以下运行访问此代码。
Meteor.call('toggleActiveStateUser', userId, function(err, result) {console.log(err, result); });
如果您使用的是 Blaze 模板,您可以通过以下方式访问按钮模板:
Template.yourTemplateName.events({
'click #btn-toggle': function (event, template) {
console.log('Click event working!');
const user = Template.instance().data
// run the Meteor.call function in here.
}
});
如果您需要进一步的帮助,您必须将您的代码放在 github 上,这样我们才能看到您在做什么,并帮助您进一步探索 Web 开发。
我是 js 的初级开发人员,正在学习网络平台 Meteor。我怀疑如何使按钮在数据库中文档的一个组件中改变 true 和 false(布尔值)之间的状态。
比如我有这样的文档:[{ name: 'Name', surname: 'Surname', active: 'true' }]。 我需要能够在我的应用程序中使用 UI 将活动条件从 true 更改为 false,反之亦然。
感谢您的帮助!
也许像这样?
let doc = [{ name: 'Name', surname: 'Surname', active: 'true' }];
document.querySelector('#btn-toggle').addEventListener('click', () => {
doc[0].active === 'true' ? doc[0].active = 'false' : doc[0].active = 'true';
console.log(doc)
});
<button id='btn-toggle'>Toggle 'active'</button>
顺便说一句,我会在对象中使用真布尔值,而不是字符串:
let doc = [{ name: 'Name', surname: 'Surname', active: true }];
let doc = [{ name: 'Name', surname: 'Surname', active: true }];
document.querySelector('#btn-toggle').addEventListener('click', () => {
doc[0].active = !doc[0].active;
console.log(doc)
});
<button id='btn-toggle'>Toggle 'active'</button>
为此,您需要更新数据库中的文档。 一个好的做法是在服务器端执行更新,在 Meteor 中,这是通过 Meteor.methods() 完成的。
在服务器启动时创建用户的同一个文件中,您将添加一些如下所示的代码:
Meteor.methods({
'toggleActiveStateUser'(userId) {
const user = User.findOne(userId);
if (!user) {
return;
}
User.update({_id: userId}, {$set: {'active': !user.active}});
}
});
在您的客户端代码中,我们可以在触发按钮事件时通过以下运行访问此代码。
Meteor.call('toggleActiveStateUser', userId, function(err, result) {console.log(err, result); });
如果您使用的是 Blaze 模板,您可以通过以下方式访问按钮模板:
Template.yourTemplateName.events({
'click #btn-toggle': function (event, template) {
console.log('Click event working!');
const user = Template.instance().data
// run the Meteor.call function in here.
}
});
如果您需要进一步的帮助,您必须将您的代码放在 github 上,这样我们才能看到您在做什么,并帮助您进一步探索 Web 开发。