小编Ada*_*ner的帖子

你如何在浏览器中运行Jasmine测试?

我正在使用jasmine-npm.jasmine-init设置它,以便您可以jasmine在终端中运行以测试您的代码.

我记得之前在浏览器中看过这些测试,并希望在那里看到它们.我如何在浏览器中运行测试?(这似乎应该是一个容易研究的东西,但我发誓我花了2个多小时研究这个并且无法弄明白).

javascript node.js jasmine

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

$ controller的"locals"参数有什么作用?

在Angular中,$controller有两个参数 - constructorlocals.

文档

文档基本上只是说:

  1. locals 是一个对象.
  2. "Controller的注册本地人."

但我仍然不明白它的作用.任何人都可以详细说明吗?

angularjs

12
推荐指数
1
解决办法
5026
查看次数

当元素没有 id 时 v-for 使用什么键?

使用时v-for强烈建议包含一个key. 此外,正如此处所解释的,使用数组索引作为键并没有真正的帮助。

如果你的元素有一个id属性,那就太好了 - 你可以使用它作为你的键。但是当你的元素没有属性时怎么办id?在这种情况下,您应该使用什么作为密钥?

vue.js v-for

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

如果已经存在,Angular会创建一个新的观察者吗?

考虑:

angular
  .module('app', [])
  .controller('MainController', function($scope) {
    $scope.$watch('bool', function(newVal, oldVal) {
    });
    console.log($scope);
  });
Run Code Online (Sandbox Code Playgroud)

<body ng-controller='MainController'>
  <p ng-class="{'blue': bool, 'red': !bool}">ngClass</p>
  <p ng-show='bool'>ngShow</p>
  <input type='checkbox' ng-model='bool' />
</body>
Run Code Online (Sandbox Code Playgroud)

上面的plnkr

似乎有3名观察者被创建:

  1. 来自$scope.$watch.
  2. 来自ngShow.
  3. 来自ngClass.

(注意:数据绑定中涉及的指令使用 $ scope.$ watch内部.)

在此输入图像描述

我原本以为,因为他们都在看bool房子,所以只有一个观察者,并且它有多个听众回调.


编辑:它是否说,"已经bool改变?如果是这样的话cb1.已经bool改变了?如果是这样的话cb2.已经bool改变了?如果是这样的话cb3." 或者是它的情况下,它的话说,"已经bool改变了吗?如果是这样运行的cb1,cb2cb3".如果是前者,为什么会这样呢?

问题:

  1. 我的解释是否正确?实际上是否有多个手表被注册?
  2. 对性能有何影响?
  3. 奖励:如果我的解释是正确的并且正在添加多个观察者,为什么会这样设计呢?为什么要寻找bool3次而不是1次的变化?

示例2) - 假设您要确保表单中的两个密码匹配,如果不匹配,则显示错误.假设你已经拥有:

ng-class="{invalid: …
Run Code Online (Sandbox Code Playgroud)

angularjs

9
推荐指数
1
解决办法
2015
查看次数

特异性如何与继承的样式一起使用?

HTML

<div class='container'>
  <p>foo</p>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS

.container {
  color: red;
}

p {
  color: blue
}
Run Code Online (Sandbox Code Playgroud)

密码笔


应用的颜色为蓝色.为什么是这样?我认为,由于.container具有更多的特异性p,颜色最终会变成红色.

这里发生了什么?它为什么是蓝色的?

我的假设是,这个过程是" p有任何选择器吗?如果是这样的话,请不要使用它.container.如果它没有任何样式,它会查找并使用它的样式.container."

css

9
推荐指数
1
解决办法
82
查看次数

以编程方式更改模型时,ngChange不起作用?

它在文档中ngChange不会触发:"如果模型以编程方式更改而不是通过更改输入值".

这是否意味着,如果你曾经改变模型编程,你不能用ngChange

或者它是否意味着你不能使用ngChangeif:

1)您以编程方式更改模型

2)您无法通过输入字段更改模型

javascript youtube-api angularjs

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

如何在textarea中滚动到光标的位置?

JS小提琴演示

HTML

<textarea rows='5'>
sdfasjfalsfjasf;klasdfklaksdfkjlasdfkjlasdjkfadls;fjklasdfjklasdkjlfaskljdfkalsjdfjlkasdfkjlasdkjlfasfkl;ajklsdfjklasdfkjlaskjldfaskjlfkljsadkjlfaskjldfkjlasdfkjlasdjklfaskljdfkjlasfkjlasdkjlfasjklfajklsdfjklasdfjlkadjsdfasjfalsfjasf;klasdfklaksdfkjlasdfkjlasdjkfadls;fjklasdfjklasdkjlfaskljdfkalsjdfjlkasdfkjlasdkjlfasfkl;ajklsdfjklasdfkjlaskjldfaskjlfkljsadkjlfaskjldfkjlasdfkjlasdjklfaskljdfkjlasfkjlasdkjlfasjklfajklsdfjklasdfjlkadjsdfasjfalsfjasf;klasdfklaksdfkjlasdfkjlasdjkfadls;fjklasdfjklasdkjlfaskljdfkalsjdfjlkasdfkjlasdkjlfasfkl;ajklsdfjklasdfkjlaskjldfaskjlfkljsadkjlfaskjldfkjlasdfkjlasdjklfaskljdfkjlasfkjlasdkjlfasjklfajklsdfjklasdfjlkadjsdfasjfalsfjasf;klasdfklaksdfkjlasdfkjlasdjkfadls;fjklasdfjklasdkjlfaskljdfkalsjdfjlkasdfkjlasdkjlfasfkl;ajklsdfjklasdfkjlaskjldfaskjlfkljsadkjlfaskjldfkjlasdfkjlasdjklfaskljdfkjlasfkjlasdkjlfasjklfajklsdfjklasdfjlkadj
</textarea>

<br />
<button id='scroll-to-cursor'>Scroll to Cursor</button>
Run Code Online (Sandbox Code Playgroud)

JavaScript的

$('#scroll-to-cursor').on('click', function() {
    // ?
});
Run Code Online (Sandbox Code Playgroud)

期望的结果

  1. 单击textarea中的某个位置放置光标.
  2. 向外滚动,使光标不可见.
  3. 单击"滚动到光标"按钮.
  4. Textarea滚动到光标的位置

注意:我正在使用jQuery.

我能弄清楚如何滚动的唯一方法是使用jQuery的scrollTop 功能.它将滚动位置设置为"在可滚动区域上方隐藏的像素数".

我已经在下面描述了这个问题.传递红线的长度(以像素为单位)scrollTop应该可以解决问题.但我无法弄清楚如何获得线的长度.

在此输入图像描述

html javascript jquery scroll textarea

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

为什么不模拟tab键按键将焦点移动到下一个输入字段?

请注意这个问题.我看到除了触发tab按键事件之外还有其他方法,但我仍然想知道为什么触发tab键按下事件不会将焦点移动到下一个输入字段.

密码笔

HTML

<textarea></textarea>
<textarea></textarea>
<textarea></textarea>
Run Code Online (Sandbox Code Playgroud)

JS

$('textarea').on('keydown', function(e) {
  if (e.metaKey && e.which === 40) {
    console.log('test');
    $(this).trigger({
      type: 'keypress',
      which: 9
    });
  }
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery

8
推荐指数
1
解决办法
4243
查看次数

服务工作者问题:当页面刷新并且选中"重新加载时更新"时,页面永远不会加载

演示视频:https://www.youtube.com/watch?v =UBfnvx6jC_A

我跟随Udacity的离线Web应用程序课程,以使我的应用程序脱机工作.这是我的代码:

main.js

// other stuff above
if (navigator.serviceWorker) {
  navigator.serviceWorker.register('/service-worker.js').catch(function() {
    console.log('Service worker registration failed.');
  });
}
Run Code Online (Sandbox Code Playgroud)

服务worker.js

let currCacheName = 'premium-poker-tools-1';

self.addEventListener('install', function(event) {
  event.waitUntil(
    caches.open(currCacheName).then(function(cache) {
      let promise = cache.addAll([
        '/',
        'app.js',
        // 'c7d016677eb7e912bc40.worker.js',
        // 'f328c7e2b379df12fa4c.worker.js',
        'static/logo.png',
        'static/favicon.png',
        'static/loading.svg',
        'static/cards/ace-of-clubs.png',
        'static/cards/king-of-clubs.png',
        'static/cards/queen-of-clubs.png',
        'static/cards/jack-of-clubs.png',
        'static/cards/ten-of-clubs.png',
        'static/cards/nine-of-clubs.png',
        'static/cards/eight-of-clubs.png',
        'static/cards/seven-of-clubs.png',
        'static/cards/six-of-clubs.png',
        'static/cards/five-of-clubs.png',
        'static/cards/four-of-clubs.png',
        'static/cards/three-of-clubs.png',
        'static/cards/two-of-clubs.png',
        'static/cards/ace-of-spades.png',
        'static/cards/king-of-spades.png',
        'static/cards/queen-of-spades.png',
        'static/cards/jack-of-spades.png',
        'static/cards/ten-of-spades.png',
        'static/cards/nine-of-spades.png',
        'static/cards/eight-of-spades.png',
        'static/cards/seven-of-spades.png',
        'static/cards/six-of-spades.png',
        'static/cards/five-of-spades.png',
        'static/cards/four-of-spades.png',
        'static/cards/three-of-spades.png',
        'static/cards/two-of-spades.png',
        'static/cards/ace-of-hearts.png',
        'static/cards/king-of-hearts.png',
        'static/cards/queen-of-hearts.png',
        'static/cards/jack-of-hearts.png',
        'static/cards/ten-of-hearts.png',
        'static/cards/nine-of-hearts.png', …
Run Code Online (Sandbox Code Playgroud)

javascript service-worker

8
推荐指数
1
解决办法
384
查看次数

当我尝试缓存xxx.worker.js时,服务工作者将无法安装

我的Vue应用程序中有以下服务工作者代码:

main.js

if (navigator.serviceWorker) {
  navigator.serviceWorker.register('/service-worker.js').catch(function() {
    console.log('Service worker registration failed.');
  });
}
Run Code Online (Sandbox Code Playgroud)

服务worker.js

let currCacheName = 'premium-poker-tools-5';

self.addEventListener('install', function(event) {
  event.waitUntil(
    caches.open(currCacheName).then(function(cache) {
      let promise = cache.addAll([
        '/',
        'app.js',
        'c7d016677eb7e912bc40.worker.js',
        'f328c7e2b379df12fa4c.worker.js',
        'static/logo.png',
        'static/favicon.png',
        'static/loading.svg',
        'static/cards/ace-of-clubs.png',
        'static/cards/king-of-clubs.png',
        'static/cards/queen-of-clubs.png',
        'static/cards/jack-of-clubs.png',
        'static/cards/ten-of-clubs.png',
        'static/cards/nine-of-clubs.png',
        'static/cards/eight-of-clubs.png',
        'static/cards/seven-of-clubs.png',
        'static/cards/six-of-clubs.png',
        'static/cards/five-of-clubs.png',
        'static/cards/four-of-clubs.png',
        'static/cards/three-of-clubs.png',
        'static/cards/two-of-clubs.png',
        'static/cards/ace-of-spades.png',
        'static/cards/king-of-spades.png',
        'static/cards/queen-of-spades.png',
        'static/cards/jack-of-spades.png',
        'static/cards/ten-of-spades.png',
        'static/cards/nine-of-spades.png',
        'static/cards/eight-of-spades.png',
        'static/cards/seven-of-spades.png',
        'static/cards/six-of-spades.png',
        'static/cards/five-of-spades.png',
        'static/cards/four-of-spades.png',
        'static/cards/three-of-spades.png',
        'static/cards/two-of-spades.png',
        'static/cards/ace-of-hearts.png',
        'static/cards/king-of-hearts.png',
        'static/cards/queen-of-hearts.png',
        'static/cards/jack-of-hearts.png',
        'static/cards/ten-of-hearts.png',
        'static/cards/nine-of-hearts.png',
        'static/cards/eight-of-hearts.png',
        'static/cards/seven-of-hearts.png',
        'static/cards/six-of-hearts.png',
        'static/cards/five-of-hearts.png',
        'static/cards/four-of-hearts.png',
        'static/cards/three-of-hearts.png',
        'static/cards/two-of-hearts.png',
        'static/cards/ace-of-diamonds.png',
        'static/cards/king-of-diamonds.png',
        'static/cards/queen-of-diamonds.png',
        'static/cards/jack-of-diamonds.png',
        'static/cards/ten-of-diamonds.png',
        'static/cards/nine-of-diamonds.png', …
Run Code Online (Sandbox Code Playgroud)

javascript web-worker service-worker cachestorage worker-loader

8
推荐指数
1
解决办法
411
查看次数