如果我们将MVC用于我们的网页,特别是如果我们只修改数据(模型),并让视图只是“观察”模型,以便对模型进行任何更改,视图将自动更新并且反映了模型,我们怎样才能拥有动画呢?
(更新:视图只是一个模板,例如Mustache或Handlebars,例如,在can.js中,那么我们如何制作动画?)
例如,假设我们有两排卡片。用户可以单击第一行以将卡“移动”到第二行。因此,如果我们不使用MVC,我们可以淡出第1行中的卡并将卡淡入第2行的末尾。但是,如果我们实际使用2个数组并让2个视图观察这两个数组,无论两个数组如何变化,视图都会反映模型,那么我们如何才能真正实现淡出和淡入呢?我只能想到视图是否使用opacity: 0
来显示卡片,并使用CSS过渡以便我们动画卡片的消失和外观,但随后卡片仍会显示为空白区域(仍占据屏幕)不透明度为0之后的问题是,我们怎样才能让视图自动显示模型是什么但仍有动画?
答案 0 :(得分:1)
添加到行并从行中删除是对状态的更改。动画只是一种可视化状态变化的方法。
因此,它实际上非常简单:决定用于每个状态更改的动画(Add = Fade In,Remove = Fade Out ...),当状态发生变化时,执行相应的动画。