将$ scope传递给服务,似乎是一个好主意,但是......?

时间:2017-03-15 06:05:37

标签: javascript angularjs-1.6 angularjs

我发现这种模式非常方便,但我想知道它是否会在以后咬我:

 protected void displayDetailFragment() {
        FragmentTransaction ft = getSupportFragmentManager().beginTransaction();

        if (listFragment.isAdded()) { 
            ft.hide(listFragment);
        } 

        if (!detailFragment.isAdded()) { 
            ft.add(R.id.flContainer, detailFragment, "DetailFragment");
        }

        ft.commit();
    }

MyPageService的样子:

app.controller('MyController', function($scope, $stateParams, MyPageService){

   var foo = MyPageService.foo($scope);

   scope.bar = function(opts){
      return foo(opts);
   };

   $scope.baz = MyPageService.baz($scope, $stateParams);


});

这是Angular,但同样,这也只是JavaScript,所以这应该有用,并且一直在我对这种模式进行简要测试。

有人认为这种模式有什么“错误”吗?任何未来可能出现意外的陷阱都会无法预料?

我不得不说,这种模式现在很有效。当然,这样做的动机是因为我们的控制器代码变得越来越大,并且变得非常必要将事情分解成碎片。这似乎是最自然的方式。

1 个答案:

答案 0 :(得分:0)

这对我们来说在一个大的应用程序中完全有用,就短期性能而言,没问题。但是,Haven没有检查内存泄漏,但我认为这不会是一个问题。