我有以下代码:http://codepen.io/Andarius/pen/Ggryge。
当用户绘制一个“crop _area”时,不应该再禁用该按钮。
为什么绘图时no_crop_area值(来自Image工厂)没有更新?
是范围问题吗?
而且,我对AngularJS非常陌生,我想知道将工厂传递给控制器(如果有)的最佳实践是什么?
给一个工厂:
myApp.factory('myFactory', function () {
return {foo:{bar:2}};
}); 更好的做法是:
myApp.controller('myCtrl', ['myFactory',function (myFactory) {
var self = this;
self.foo = myFactory;
self.bar = myFactory.bar;
}]);或
myApp.controller('myCtrl', ['myFactory',function (myFactory) {
var self = this;
self.foo = myFactory;
self.bar = self.foo.bar;
}]);发布于 2015-01-09 18:46:22
我把你的密码分叉了。这是一个有用的。http://codepen.io/anon/pen/qERpew?editors=101
该按钮没有启用,因为您正在使用javascript事件处理程序执行与创建作物区域相关的所有处理,因此与$scope (ie.angular相关)相关的代码不会生效。要使它们生效,您必须将与$scope相关的代码包装到$scope.$apply(function(){ // Your $scope variable update code.})中。
PS:按照惯例,您不应该在该使用范围的$scope中使用directive.Instead名称。
https://stackoverflow.com/questions/27866559
复制相似问题