我正在谈论的API在一个非常奇怪的嵌套数组结构中返回它的注册表.我想将这个怪物转换成一个对象,这样我的应用程序就可以轻松访问存储在此输出中的整个对象.
API给我的输出看起来像这样:
[
[ "settings", "autoLogout", "false" ],
[ "settings", "autoLogoutMinutes", "60" ],
[ "settings", "presets", "true" ],
[ "controller", "rs232", "ip", "192.168.1.11" ],
[ "controller", "rs232", "name", "NX-22" ],
[ "source", "M23836", "slot1", "ip", "192.168.1.30" ]
]
Run Code Online (Sandbox Code Playgroud)
每个数组中的最后一个值表示条目的值,在最后一个条目之前的所有内容都与用于保存值的键相加.由于大小限制,我不能只在那里删除大的json编码对象,所以这不是一个可行的解决方法.
我现在做了一个非常肮脏和缓慢的解决方案,涉及2个eval().(我知道......这是一个禁忌,所以我正在寻找一个更好的解决方案)我猜这可以加载更快,但我无法弄清楚如何...
下面的代码段使用angular,因为我的应用程序是基于Angular的,但我对任何快速/干净的解决方案持开放态度.一个香草js方法或一些巧妙使用像lodash或下划线的东西将是非常受欢迎的.
我的肮脏和缓慢的解决方案
function DemoCtrl($scope){
$scope.data = [
[ "settings", "autoLogout", "false" ],
[ "settings", "autoLogoutMinutes", "60" ],
[ "settings", "presets", "true" ],
[ "controller", "rs232", "ip", "192.168.1.11" ],
[ "controller", "rs232", "name", "NX-22" ],
[ "source", "M23836", "slot1", "ip", "192.168.1.30" …Run Code Online (Sandbox Code Playgroud)我有以下 angular2 模板:
<div (click)="foo()">
<img (longPress)="bar(1)" (click)="foobar(1)" />
<img (longPress)="bar(2)" (click)="foobar(2)"/>
</div>
Run Code Online (Sandbox Code Playgroud)
Longpress 是一个自定义属性指令,当鼠标按下 500 毫秒时触发。
<div>和上的点击事件<img>处理得很好。当我长按图像时,会调用 bar() 函数。但是,在 mouseUp 上(长按后),将在<img>和 父级上触发单击事件<div>。
如何以最简单的方式阻止这些点击事件。
我现在唯一能想到的就是编写一个自定义属性指令,仅在不到 500 毫秒的“点击”时触发。这对我来说似乎有点过分了。
我正在尝试使用NPM安装Yeoman,但是受到以下错误的欢迎:
Jaspers-MacBook-Pro:Sites Jasper$ sudo npm install --global yo
> fullname-native@0.1.1 install /usr/local/lib/node_modules/yo/node_modules/fullname/node_modules/fullname-native
> node-gyp rebuild
gyp ERR! UNCAUGHT EXCEPTION
gyp ERR! stack Error: EPERM, utime '/Users/Jasper/.node-gyp/0.10.29'
gyp ERR! System Darwin 13.3.0
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/local/lib/node_modules/yo/node_modules/fullname/node_modules/fullname-native
gyp ERR! node -v v0.10.29
gyp ERR! node-gyp -v v0.13.1
gyp ERR! This is a bug in `node-gyp`.
gyp ERR! Try to update node-gyp and file an Issue if it does not help:
gyp ERR! <https://github.com/TooTallNate/node-gyp/issues>
npm WARN optional …Run Code Online (Sandbox Code Playgroud) angular ×1
arrays ×1
eval ×1
javascript ×1
json ×1
long-press ×1
mouseevent ×1
node.js ×1
npm ×1
yeoman ×1