【发布时间】:2013-07-30 00:15:59
【问题描述】:
我开始思考淘汰赛,如果在视图模型中编写代码来操纵 dom 或触发动画等是否正确。例如,我有这个绑定,它传递对我想要滑动的 div 的引用点击 tr 时退出
<tr data-bind="click: function(data, event){$parent.Select('#PanelWrapper', $data)}">
在我的视图模型中,我有
self.Select = function (panel, e) {
console.log(ko.toJS(e));
if(self.SelectedEmployee() === e)return;
self.$PanelWrapper = $(panel);
var $Bottom = parseInt(self.$PanelWrapper.css("bottom"));
if($Bottom === 0){
self.$PanelWrapper.animate({
bottom:"-95"
}, 500, function(){
self.SelectedEmployee(e);
self.Editable(new Employee(ko.toJS(e)));
}).animate({
bottom:"0"
}, 500);
}else{
self.SelectedEmployee(e);
self.Editable(new Employee(ko.toJS(e)));
self.$PanelWrapper.animate({
bottom:"0"
}, 500);
}
};
我想知道这是否有效并且它遵循 vmmv 方法。任何帮助将不胜感激
【问题讨论】:
标签: knockout.js