我想在不使用变换原点的情况下围绕特定点旋转例如svg-rect,比如仅使用链式平移和(原点)旋转.
由于我的研究,我发现你这样做:
但是当我用的时候
transform="translate(-100, -50) rotate(30) translate(100, 50)"
Run Code Online (Sandbox Code Playgroud)
事实证明,与...相比,它处于错误的位置
transform="rotate(30, 100, 50)"
Run Code Online (Sandbox Code Playgroud)
我为此做了一个小提琴:http://jsfiddle.net/VYmrX/.蓝色矩形是原始矩形,绿色矩形用于比较,红色矩形用上面的方法转换.我希望它围绕它的中心旋转(100,50).
如何在不使用变换原点的情况下获得它?
我必须顺序执行三个不同的$ http-calls,它们相互依赖.到目前为止,我的工作解决方案是这样的
$http.get(".../1/...").success(function(){
$http.get(".../2/...").success(function(){
$http.get(".../3/...").success(function(){
});
});
});
Run Code Online (Sandbox Code Playgroud)
现在有一些变化:如果条件为真,则应跳过第一个调用.我可以这样做:
if(skipCallOne) {
$http.get(".../2/...").success(function(){
$http.get(".../3/...").success(function(){
});
});
} else {
$http.get(".../1/...").success(function(){
$http.get(".../2/...").success(function(){
$http.get(".../3/...").success(function(){
});
});
});
}
Run Code Online (Sandbox Code Playgroud)
这显然会导致大量的代码复制.我看到如果我使用特定$ http-calls的propper函数,这可以减少.但据我所知,更好的解决方案是正确使用和链接$ http-promises,如下所示:
$http.get(".../1/...").then(function(){
return $http.get(".../2/...");
}).then(function() {
return $http.get(".../3/...");
}).then(function() {
});
Run Code Online (Sandbox Code Playgroud)
但现在我的问题是,我如何以最少的代码复制条件跳过第一次调用?