>我有一个从ng-view
元素继承的 Angular 视图。
在视图文件中,我有一个画布。代码由控制器控制。我想做的是调用一个舞台来在画布上添加元素。
但是,当我运行createJS.Stage
函数时,会创建一个阶段,其中所有内容都是null
的,没有界限。
我猜这个元素没有被绑定到舞台上,但我无法弄清楚为什么
索引.html
<ng-view style='height: 100%;'></ng-view>
模板.html
<div class='middle' style="min-height:90%;height:90%">
<div class='col-lg-8'>
<canvas id="demoCanvas" class='col-lg-11' style='margin-top:10px'></canvas>
</div>
</div>
.JS
app.controller('taskController',function($scope,$location,$routeParams,dataFactory){
var stage = new createjs.Stage("demoCanvas");
console.log(stage.getBounds());
//bounds turn up as null as well as style and any other function that I run
}
所以事实证明,问题是在运行 AngularJS 控制器时 DOM 没有完全加载
一旦 DOM 完成加载,运行它的诀窍是
app.controller('taskController',function($scope,$location,$routeParams,dataFactory){
$timeout(function(){
visualInspectionHandler();
});
function visualInspectionHandler(){
var stage = new createjs.Stage("demoCanvas");
console.log(stage.getBounds());
}
}