小编Jon*_*ker的帖子

在输入类型="文本"中跟踪onchange类型的最佳方法?

根据我的经验,input type="text" onchange事件通常只在你离开(blur)控件之后才会发生.

有没有办法强制浏览器onchange每次textfield内容更改时触发?如果没有,那么"手动"追踪这个最优雅的方式是什么?

使用onkey*事件是不可靠的,因为您可以右键单击该字段并选择"粘贴",这将更改该字段而不需要任何键盘输入.

setTimeout唯一的方法吗?丑陋的:-)

html javascript forms

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

在AngularJs中设置动态范围变量 - 范围.<some_string>

我有一个字符串,我从一个routeParam或一个指令属性或其他什么,我想基于此在范围上创建一个变量.所以:

$scope.<the_string> = "something".
Run Code Online (Sandbox Code Playgroud)

但是,如果字符串包含一个或多个点,我想将其拆分并实际"向下钻取"到范围内.所以'foo.bar'应该成为$scope.foo.bar.这意味着简单版本将无法正常工作!

// This will not work as assigning variables like this will not "drill down"
// It will assign to a variables named the exact string, dots and all.
var the_string = 'life.meaning';
$scope[the_string] = 42;
console.log($scope.life.meaning);  // <-- Nope! This is undefined.
console.log($scope['life.meaning']);  // <-- It is in here instead!
Run Code Online (Sandbox Code Playgroud)

在根据字符串读取变量时,您可以通过执行此操作获得此行为$scope.$eval(the_string),但在分配值时如何执行此操作?

scope angularjs

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

AngularJS - 动态创建指定指令的元素

我有这样的设置:

  • 控制器c广播事件e
  • Directive 通过append d监听ee写入DOM,并在此过程中创建指定指令的新元素d2.

IE: element.append('<directiveTwo ...>')

  • twoAngular永远不会调用指令
  • 当我检查DOM(和调试)时,我看到Controller c和指令d正在完成他们的工作,我有新的directiveTwo元素.

缺什么?2在动态创建这些元素之后需要做些什么才能触发指令调用?

angularjs angularjs-directive

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

是否可以将组件作为道具传递并在Vue中的子组件中使用它?

在Vue 2.0应用程序中,假设我们有组件A,B和C.

声明,注册和使用B.

是否有可能将C从A传递给B?

像这样的东西:

<template>
  <div class="A">
    <B :child_component="C" />
  </div>
</template>
Run Code Online (Sandbox Code Playgroud)

并以某种方式在B中使用C.

<template>
  <div class="B">
    <C>Something else</C>
  </div>
</template>
Run Code Online (Sandbox Code Playgroud)

动机:我想创建一个通用组件B,用于A但从A其子级接收C.实际上AB多次使用不同的'C'来表示它.

如果这种方法不正确,在Vue中这样做的正确方法是什么?

回答@Saurabh

而不是作为道具传递,我尝试了B.内部的建议.

<!-- this is where I Call the dynamic component in B -->

<component :is="child_component"></component>

//this is what I did in B js
components: {
 equip: Equipment
}, 
data () {
 return {
   child_component: 'equip',
   _list: []
 }
}
Run Code Online (Sandbox Code Playgroud)

基本上我试图渲染设备,但动态的方式

我在控制台和空白页面中收到3个错误

[Vue警告]:在/home/victor/projetos/tokaai/public/src/components/EquipmentFormItem.vue中渲染组件时出错:

未捕获的TypeError:无法读取未定义的属性"name"

TypeError:无法读取undefined的属性'setAttribute' …

javascript vue.js vue-component vuejs2

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

期望一个赋值或函数调用,而是看到一个表达式

我对这个JSLint错误非常感兴趣.我怎么能忍受呢?它有标志或复选框吗?

当你做以下事情时,你会得到它:

v && arr.push(v);
Run Code Online (Sandbox Code Playgroud)

而不是:

if (v) {
    arr.push(v);
}
Run Code Online (Sandbox Code Playgroud)

两者都做同样的事情.如果你把:

window.test = function(v) {
    'use strict';
    var arr = [];
    if (v) {
        arr.push(v);
    }
    return arr;
};
Run Code Online (Sandbox Code Playgroud)

进入minifier它minifies到这个反正:

window.test=function(a){var b=[];a&&b.push(a);return b};
Run Code Online (Sandbox Code Playgroud)

javascript jslint jshint

35
推荐指数
4
解决办法
5万
查看次数

将日期和时间附加到linux makefile中的环境变量

在我的Makefile中,我想使用当前的日期和时间创建一个环境变量.伪代码:

LOG_FILE := $LOG_PATH + $SYSTEM_DATE + $SYSTEM_TIME
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏 - 谢谢.

makefile environment-variables

21
推荐指数
2
解决办法
4万
查看次数

OpenLayers 3:如何计算2点之间的距离?

使用OpenLayers 3,如何确定球形墨卡托(SRID:3857)投影中两点之间的距离?

我知道这distanceTo是在OpenLayers 2中使用的

point1.distanceTo(point2)
Run Code Online (Sandbox Code Playgroud)

我查看了OpenLayers 3文档,但我找不到类似的东西......

javascript openlayers-3

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

读取JSON并分配给make变量列表

我可以从中得到一个值package.json:

LAST_VERSION := $(shell node -p "require('./package.json').version")
Run Code Online (Sandbox Code Playgroud)

但是,如果我需要几个值呢?喜欢:

PROJECT     := $(shell node -p "require('./package.json').name")
LAST_VERSION:= $(shell node -p "require('./package.json').version")
DESCRIPTION := $(shell node -p "require('./package.json').description")
PROJECT_URL := $(shell node -p "require('./package.json').repository.url")
Run Code Online (Sandbox Code Playgroud)

这是唯一的方法吗?也许有办法创建一种列表.

makefile gnu-make

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

Redis命令列出订阅redis频道的所有订阅者

下面的命令只给出了频道列表.

127.0.0.1:6379> PUBSUB CHANNELS
1) "mychannel"
2) "mychanne2"
Run Code Online (Sandbox Code Playgroud)

如何列出在channel1或channel2上订阅的订阅者.?

我找不到redis命令列出特定频道的所有订阅者

javascript redis node-redis

11
推荐指数
2
解决办法
2628
查看次数

Javascript在数组中找不到最接近的数字

例如[300, 500, 700, 1000, 2000, 3000],我有一个数字数组,我想找到最接近的数字,而不是在给出的数字之下.

例如,搜索2200将返回3000(不是2000).

但是,如果我搜索3200,因为数组中没有更高的值,它应返回3000,因为没有其他选择.

我可以使用以下值获得最接近该值的数字:

if (sizeToUse == null || Math.abs(this - monitorWidth) < Math.abs(sizeToUse - monitorWidth)) {
                sizeToUse = this;
            }
Run Code Online (Sandbox Code Playgroud)

但是,我无法完成所有工作.我的完整代码是:

$(function() {

var monitorWidth = window.screen.availWidth,
    sizeToUse = null,
    upscaleImages = false;

$('.responsive-img').each(function(){

    var sizeData = $(this).attr('data-available-sizes');
    sizeData = sizeData.replace(' ', '');

    var sizesAvailable = sizeData.split(',');
    sizesAvailable.sort(function(a, b){return b-a});

    $.each(sizesAvailable, function(){
        if(upscaleImages){
            if (sizeToUse == null || Math.abs(this - monitorWidth) < Math.abs(sizeToUse - monitorWidth)) {
                sizeToUse = this;
            }
        }
        else{ …
Run Code Online (Sandbox Code Playgroud)

javascript

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