javascript - Angular – 如何使资源全局化?

标签 javascript angularjs angularjs-scope

我目前正在成功地将音轨资源加载到我网站的“作品”页面。以下是我的“Works” Controller 如何实现这一目标:

'use strict';

angular.module('appName')
  .controller('WorksCtrl', function ($scope, $http, socket) {
    $scope.works = [];

    $http.get('/api/works').success(function(works) {
      $scope.works = works;
      socket.syncUpdates('work', $scope.works);
    });
  });

但是,现在我需要在整个网站上全局访问我的轨道。我可以通过我的中央 app.js 中的工厂来实现这一点吗?如果可以,如何实现?

最佳答案

'use strict';

angular.module('appName')
  .controller('WorksCtrl', function ($scope, WorksFactory) {
    $scope.WorksFactory = WorksFactory; //can refer to works in the view from WorksFactory.works
  });
  .factory('WorksFactory', function ($http, socket) {
    var fact = { works: []};

    $http.get('/api/works').success(function(works) {
      angular.copy(works, fact.works);
      socket.syncUpdates('work', fact.works);
    });
    return fact;
  });

关于javascript - Angular – 如何使资源全局化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29724300/

相关文章:

javascript - filter(loaded =>!loaded) 是做什么的?

javascript - Zapier 代码 (JS) + Twitter API - 发布收藏夹/创建

javascript - 当我更改 .js 文件时 Visual Studio 崩溃

javascript - 使用 AngularJS 在输入中设置插入符位置

javascript - 如何覆盖 'border:none' 以克服 Safari 选择错误?

javascript - 未选择下拉菜单时更改 css

javascript - Angular 表单上传在 Safari 中不起作用,在 Chrome 中起作用

javascript - 我如何根据其他元素的高度设置页脚的边距,在 Angular 中而不是 jQuery?

javascript - 在 JSON 加载到与 Angular 模块和 Controller 相同的文件中之前加载消息或微调器图标

javascript - 注入(inject) Controller 的自更新服务