只要我使用new Vue(...)
的svg动画不工作。
我找不到其他人有同样的问题...虽然大多数动画直接与vueidojs
我用animeiderjs试过了,但是它也不能和vueiderjs一起工作。有人知道这个问题的解决方案吗?
无Vue.js
toBars = document.getElementById("toBars");
toCross = document.getElementById("toCross");
isBars = true;
document.getElementById("start").onclick = function () {
(isBars ? toCross : toBars).beginElement();
isBars = !isBars;
};
//new Vue({ el: "#app" });
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<svg viewBox="0 0 32 32" width="128">
<path id="p" d="M3 6 L29 6" stroke="black" stroke-width="6">
<animate attributeType="XML" attributeName="d" from="M3 6 L29 6" to="M3 3L29 29" dur="0.2s" begin="indefinite" fill="freeze" id="toCross" />
<animate attributeType="XML" attributeName="d" from="M3 3L29 29" to="M3 6 L29 6" dur="0.2s" begin="indefinite" fill="freeze" id="toBars" />
</path>
</svg>
<button id="start">Click to start</button>
</div>
使用Vue.js
一个二个一个一个
1条答案
按热度按时间l7mqbcuq1#
正如User28所指出的,这一切都必须在Vue.js的上下文中进行
(我以前试过这个,但一定是另一个错误。)
工作示例: