小编kma*_*ana的帖子

AngularJS - 在指令范围内设置变量

我想设置一个变量,selected.child上的$scope,这样我可以在其他地方使用它.我仍然是Angular中范围的新手,但不确定为什么我不能在指令范围内设置范围.我可以调用范围函数.

我有一个JSfiddle,代码发布在下面.

我在这里先向您的帮助表示感谢.

HTML:

<div ng-controller="DashCtrl">
     <h3>{{selected.child}}<h3>

   <div ng-repeat="child in children" select={{child}}>
      {{child.username}}
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

javascript:

var dash = angular.module('dash', []);

dash.directive('select', function () {
  return {
    restrict: "A",
    scope: false,
    link: function (scope, element, attrs) {
      element.bind('click', function () {
        scope.selected.child = jQuery.parseJSON(attrs.select); //Neither this
        scope.setSelected(jQuery.parseJSON(attrs.select));  //Nor this is working

          if (attrs.select != scope.selected) {
            other_elements = angular.element(document.querySelectorAll('[select]'));
                for (var i = 0; i < other_elements.length; i++) {
                    elm = jQuery(other_elements[i]);
                    elm.css('background', 'none'); …
Run Code Online (Sandbox Code Playgroud)

angularjs angularjs-directive angularjs-scope angularjs-ng-repeat

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

Web Worker importScripts DOMException 脚本加载失败

我正在尝试使用importScripts

self.addEventListener('fetch', event => {
  ...
  self.importScripts('idb.js');
  ...
}
Run Code Online (Sandbox Code Playgroud)

为 PWA 的 Service Worker 加载库,但不断获取

DOMException: Failed to execute 'importScripts' on 'WorkerGlobalScope': 
    The script at 'http://localhost:3000/idb.js' failed to load.
Run Code Online (Sandbox Code Playgroud)

脚本文件在那里,内容类型是正确的application/javascript,我也尝试过text/javascript。我的开发人员工具网络选项卡显示请求开始,然后很快失败,没有机会访问服务器。状态代码是(failed) net::ERR_CONNECTION_REFUSED通过 http 和(failed) net::ERR_FAILEDhttps 时的状态代码。任何帮助表示赞赏

javascript web-worker service-worker progressive-web-apps

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

调用原始函数而不是存根

我有一个问题让Sinon的存根正常工作.当我存根listretro和试运行,app.get('/retro', retro.list)正在执行原有的功能retro.list,而不是存根.由于这种情况发生,测试失败,因为存根callCount为0.

我对coffeescript更熟悉,而且我用同样的方式抄袭了东西.有什么我不了解Javascript的范围,或者require('../routes/retro')工作方式,或者retro是不是app.jstest.js.

非常感谢下面的帮助和代码.

test.js:

var request = require('supertest')
  , retro = require('../routes/retro')
  , app = require('../app')
  , sinon = require('sinon');
require('should'); 

describe('GET /retro', function() {
  // less involved, but maybe stupid to test
  it('should call retro.list', function(done) {
    var stub = sinon.stub(retro, 'list');

    request(app)
      .get('/retro')
      .end(function(err, res){
        stub.callCount.should.equal(1);

        if (err) return done(err);
        done();
      })
  })
})
Run Code Online (Sandbox Code Playgroud)

app.js:

var express = require('express') …
Run Code Online (Sandbox Code Playgroud)

javascript stub mocha.js express sinon

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