小编Dav*_*mon的帖子

Angularjs服务单身吗?

参考文献中我读到:

最后,重要的是要意识到所有Angular服务都是应用程序单例.这意味着每个注入器只有一个给定服务的实例.

但是这个简单的代码似乎不是单身

'use strict';
            angular.module('animal', [])
                .factory('Animal',function(){
                    return function(vocalization){
                        return {
                            vocalization:vocalization,
                            vocalize : function () {
                                console.log('vocalize: ' + this.vocalization);
                            }
                        }
                    }
                });    
                angular.module('app', ['animal'])
                    .factory('Dog', function (Animal) {
                        return Animal('bark bark!');
                    })
                    .factory('Cat', function (Animal) {
                        return Animal('meeeooooow');
                    })
                .controller('MainCtrl',function($scope,Cat,Dog){
                     $scope.cat = Cat;
                     $scope.dog = Dog;
                     console.log($scope.cat);
                     console.log($scope.dog);
                    //$scope.cat = Cat;
                });
Run Code Online (Sandbox Code Playgroud)

我有点困惑你能解释一下我的问题是什么吗?

更新1 可能是我不是最流行的工具,但是@Khanh回复它将是一个更好的解释,在参考中它不是很清楚.

更新2

'use strict';
            angular.module('animal', [])
                .factory('Animal',function(){
                        return {
                            vocalization:'',
                            vocalize : function () {
                                console.log('vocalize: ' + this.vocalization);
                            } …
Run Code Online (Sandbox Code Playgroud)

angularjs

45
推荐指数
1
解决办法
7万
查看次数

如何使用angular的装饰器模式扩充指令的链接功能?

我正在开发一个Angular库,并寻找一种使用装饰器模式扩展指令的方法:

angular.module('myApp', []).decorator('originaldirectiveDirective', [
  '$delegate', function($delegate) {

    var originalLinkFn;
    originalLinkFn = $delegate[0].link;

    return $delegate;
  }
]);
Run Code Online (Sandbox Code Playgroud)

使用这种模式增强原始指令的最佳方法是什么?(示例用法:在指令上有额外的监视或额外的事件监听器,而不直接修改它的代码).

javascript angularjs angular-directive

5
推荐指数
1
解决办法
951
查看次数

标签 统计

angularjs ×2

angular-directive ×1

javascript ×1