小编Kri*_*vas的帖子

angular:错误:module.config()期间的未知提供程序

我得到Uncaught Error: Unknown provider: testProvider from myApp以下代码:

test 是一个自定义提供商.

angular.module('myApp', [])
  .config(function (testProvider) {
    testProvider.setPrefix("works: ");
  });
Run Code Online (Sandbox Code Playgroud)

完整代码在这里:

angular.module('myApp', [])
  .config(function (testProvider) {
    testProvider.setPrefix("works: ");
  });


angular.module('myApp')
  .provider ("test", function () {
    var prefix;
    this.setPrefix = function(p) {
      prefix = p;
    }

    this.$get = function () {
      return {
        log: function(msg) {
          console.log (prefix + msg);
        }
      }
    }
  });

angular.module('myApp')
  .controller ("myCtrl", function($scope, test) {
    $scope.$watch ('myModel', function (newval) {
      test.log(newval);
    })
  });
Run Code Online (Sandbox Code Playgroud)

Plunker链接:http://plnkr.co/edit/zcIHRn?p = …

angularjs

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

运行时更新部署的流星应用程序,停机时间最短 - 最佳做法

我在EC2上运行我的meteor应用程序,如下所示:( node main.js在tmux会话中)

以下是我用来更新流星应用的步骤:

1)meteor bundle app.tgz

2)scp app.tgz EC2-server:/ path

3)ssh EC2-server并附加到tmux

4)通过Cc终止当前的流星节点进程

5)提取app.tgz

6)运行提取的app.tgz的"node main.js"

这是标准做法吗?

我意识到forever也可以使用,但是你每次更新我的应用程序时还是要杀死旧节点进程并启动一个新进程吗?升级可以更加无缝,而不会破坏节点进程吗?

meteor

6
推荐指数
1
解决办法
846
查看次数

下载时删除AWS S3对象

下载AWS S3对象并在下载过程中删除对象时会发生什么?下载是否会以完整对象完成?或者下载是否部分?

amazon-s3

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

chrome 和 firefox 中 iframe contentDocument 的行为

这是我的testing.html:

<html>
<meta charset="utf-8">
<script>
window.onload = function() {
    var a = document.getElementById("divid");
    var ifr = document.createElement('iframe');
    a.appendChild(ifr);
    ifr.contentDocument.body.style.cssText = (
      'margin: 0px;' +
      'padding: 0px;' +
      'height: 100%;' +
      'width: 100%;');
}
</script>

<head></head>
<body>
<div id="divid"/>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

这里 ifr.contentDocument.body.style.cssText = (...) 在 chrome 上工作正常,但在 Firefox 上不工作。是火狐的bug吗?有什么解决方法吗?

找到的解决方法:Firefox 中似乎存在一个奇怪的种族错误。使用 setTimeout 的以下解决方法将使此工作正常,如下所示:

<html>
<meta charset="utf-8">
<script>
window.onload = function() {
    var a = document.getElementById("divid");
    var ifr = document.createElement('iframe');
    ifr.id = "fid";
    a.appendChild(ifr);
    setTimeout (function() {
        ifr.contentDocument.body.style.cssText = (
        'margin: …
Run Code Online (Sandbox Code Playgroud)

html javascript iframe firefox google-chrome

2
推荐指数
1
解决办法
1679
查看次数

Meteor在用户登录前后发布记录

我的发布功能是这样的:

    Meteor.publish('ownedrecords', function() {
        if (!this.userId) {
            this.error(new Meteor.Error(500, 'Internal server error'));
            return;
        }
        return Records.find({owner:this.userId});
    });
Run Code Online (Sandbox Code Playgroud)

我在客户端订阅如下:

    Meteor.subscribe("ownedrecords")
Run Code Online (Sandbox Code Playgroud)

但是在用户登录后,客户端无法获取用户拥有的记录.所以我这样做了:

    Deps.autorun(function() {
            var user = Meteor.userId();
            Meteor.subscribe("ownedrecords");
    }
Run Code Online (Sandbox Code Playgroud)

这解决了这个问题.但这是标准和推荐的做法吗?

meteor

1
推荐指数
2
解决办法
1168
查看次数