gpt4 book ai didi

javascript - Backbone - 在 ItemView 之外访问 View 的 $el.attr

转载 作者:行者123 更新时间:2023-11-28 00:58:12 25 4
gpt4 key购买 nike

我有以下 ItemView(没有与 View 关联的模型,它是一个非常基本的“表单”,具有提交或取消和单个输入字段):

App.BasicForm = Backbone.Marionette.ItemView.extend({
template: "build/templates/basic-form.html",
tagName: "div",
attributes: {
id: "some-id",
style: "display: none;"
},

events: {
"click button#bf-submit": "bfSubmit",
"click button#bf-close": "bfClose"
},

bfSubmit: function() {
var bfInputField= document.getElementById('bfSomeData').value;
},

bfClose: function() {
this.$el.hide();
}

});

因此默认情况下,此 View 是隐藏的(但在应用程序启动时实例化)。

我想要一个按钮,单击该按钮后,只需将属性样式显示更改为阻止即可。

我可以像这样轻松地做到这一点:

document.getElementById('bfBasicFormDiv').style.display = "block";

但是,我宁愿调用 View 的 $el.attr 并在那里编辑它,大致如下:

App.BasicForm.$el.attr({style: "display: block;"});

但是,这会返回一个未定义的值,并且我看不出有什么方法可以检索 View 的属性(对于使用 .get() 的模型来说很容易),但这不适用于 View 。

感谢您的建议。

加里

最佳答案

App.BasicForm 不是实例,因此它不包含元素。您需要初始化它,然后就可以使用 $el 引用该元素:

var basicForm = new App.BasicForm({
el: document.getElementById('bfBasicFormDiv')
});
basicForm.$el.css({display: "block"});

关于javascript - Backbone - 在 ItemView 之外访问 View 的 $el.attr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25977095/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com