gpt4 book ai didi

javascript - 我可以在一个 View 上多次使用 Marionette 行为吗?

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

我想要一个 itemView,例如在 2 个不同的元素上具有 InputFileBehaviors。喜欢

View = Marionette.ItemView.extend({
behaviors:{
InputFile : {
elementSelector : "input.file1",
field : "file1"
},
InputFile : {
elementSelector : "input.file2",
field : "file2"
}
}

显然这是行不通的,因为您将覆盖关联数组中的键,但是是否有另一种方法可以将行为多次添加到同一 View ,如果没有,请给我一个替代策略?

更新:好吧,我找到了解决方案。如果您使用behaviorClass和不同的keyNames,您可以获得所需的功能,唯一的问题可能是您无法再对正在重用的行为进行行为查找。如果其他人遇到同样的问题,示例:

View = Marionette.ItemView.extend({
behaviors:{
InputFile1 : {
behaviorClass : MyApp.Behaviors.InputFile1,
elementSelector : "input.file1",
field : "file1"
},
InputFile2 : {
behaviorClass : MyApp.Behaviors.InputFile1,
elementSelector : "input.file2",
field : "file2"
}
}

最佳答案

请注意,从 2.4.1 开始,您可以传入数组:

View = Marionette.ItemView.extend({
behaviors: [
{
behaviorClass : MyApp.Behaviors.InputFile1,
elementSelector : "input.file1",
field : "file1"
}, {
behaviorClass : MyApp.Behaviors.InputFile1,
elementSelector : "input.file2",
field : "file2"
}
]
});

关于javascript - 我可以在一个 View 上多次使用 Marionette 行为吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26804344/

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