相关疑难解决方法(0)

如何从控制台测试AngularJS服务?

我有这样的服务:

angular.module('app').factory('ExampleService', function(){
  this.f1 = function(world){
    return 'Hello '+world;
  }
  return this;
})
Run Code Online (Sandbox Code Playgroud)

我想从JavaScript控制台测试它并调用f1()服务的功能.

我怎样才能做到这一点?

angularjs angularjs-service

392
推荐指数
4
解决办法
11万
查看次数

从遗留代码中调用AngularJS

我正在使用AngularJS来构建与传统Flex应用程序交互的HTML控件.Flex应用程序中的所有回调都必须附加到DOM窗口.

例如(在AS3中)

ExternalInterface.call("save", data);
Run Code Online (Sandbox Code Playgroud)

将会通知

window.save = function(data){
    // want to update a service 
    // or dispatch an event here...
}
Run Code Online (Sandbox Code Playgroud)

在JS resize函数中,我想发送一个控制器可以听到的事件.似乎创建服务是最佳选择.你能从AngularJS外部更新服务吗?控制器可以监听服务中的事件吗?在一个实验(点击小提琴)我做了似乎我可以访问服务,但更新服务的数据不会反映在视图中(在示例中<option>应该添加到<select>).

谢谢!

javascript actionscript-3 externalinterface angularjs

180
推荐指数
6
解决办法
9万
查看次数

如何在浏览器中调试角度服务

我在我的角度应用程序中创建了一个工厂/服务.

我想在浏览器中调试它.有没有办法可以访问它的实例并检查其功能和变量的值.

可以使用角度范围访问角度范围

angular.element(e).scope()
Run Code Online (Sandbox Code Playgroud)

是否有类似的方式访问工厂?

angularjs

37
推荐指数
3
解决办法
2万
查看次数

无法从$ injector.get()获取服务实例

我定义了一个名为"greeting"的客户服务,但无法从$ injector.get('greeting')获取实例.它会抛出这样的错误:未知提供者:greetingProvider < - 问候语.那么这是获得它的正确方法?以下是代码:

var app = angular.module('myDI', []);
app.config(function($provide){
    $provide.provider('greeting', function(){
        this.$get = function(){
             return function(name) {
                 console.log("Hello, " + name);
            };
        };
    });
});

var injector = angular.injector();
var greeting = injector.get('greeting');
greeting('Ford Prefect');
Run Code Online (Sandbox Code Playgroud)

angularjs angularjs-service

15
推荐指数
1
解决办法
3万
查看次数

如何动态实例化一个服务?

我有一项Utils非常繁重的服务。我想在特定用户操作上使用其中定义的一些功能。由于这项服务很重,我想懒惰地实例化它(根据用户操作)。

我如何实现这一目标?

服务

module.service('Utils', function (dep1, dep2) {
   this.method1 = function () {
      // do something
   }
   // other methods
});
Run Code Online (Sandbox Code Playgroud)

控制器

module.controller('AppCtrl', function ($scope) {
    // I don't want to inject Utils as a dependency.

    $scope.processUserAction = function () {
       // If the service is not instantiated 
       // instantiate it and trigger the methods defined in it. 
    }
});
Run Code Online (Sandbox Code Playgroud)

标记

<div data-ng-controller="AppCtrl">
    <button data-ng-click="processUserAction()"> Click Me </button>
</div>
Run Code Online (Sandbox Code Playgroud)

dependency-injection objectinstantiation angularjs angular-services

4
推荐指数
1
解决办法
8277
查看次数