小编Seb*_*rth的帖子

如何检查AngularJS模板中是否未定义范围变量?

如何检查范围变量是否未定义

这不起作用:

<p ng-show="foo == undefined">Show this if $scope.foo == undefined</p>
Run Code Online (Sandbox Code Playgroud)

angularjs angularjs-ng-show

54
推荐指数
4
解决办法
13万
查看次数

ng-click不使用ng-if

当使用ng-if时,为什么第二个按钮不起作用?

我想实现一个按钮,只有当模型值设置为/"/"时才会出现.

模板:

<input type="text" ng-model="blub"/>
<br/>
<button ng-click="blub = 'xxxx'">X</button>
<br/>
<button ng-click="blub = 'yyyy'" ng-if="blub.length">Y</button>
Run Code Online (Sandbox Code Playgroud)

控制器:

angular.module('test', [])
.controller('Main', function ($scope) {
    // nothing to do here
});
Run Code Online (Sandbox Code Playgroud)

玩耍: JSFiddle

javascript angularjs angularjs-ng-click angular-ng-if

10
推荐指数
3
解决办法
9810
查看次数

Qtip2从互联网加载"jquery.qtip.min.map"并减慢网站速度

我包括Qtip2我的网站上使用了以下片断,而文件的托管自己的服务器上所提到这里:

<!-- jQuery FIRST i.e. before qTip (and all other scripts too usually) -->
<script type="text/javascript" src="/scripts/jquery.min.js"></script>

<!-- Include either the minifed or production version, NOT both!! -->
<script type="text/javascript" src="/scripts/jquery.qtip.js"></script>
Run Code Online (Sandbox Code Playgroud)

虽然托管在同一台服务器脚本加载从以下的附加文件的网站CDNQtip2:

https://cdnjs.cloudflare.com/ajax/libs/qtip2/2.2.0/jquery.qtip.min.map

这极其缓慢了我的一面: 在此输入图像描述

我找不到任何关于此的信息.任何想法如何避免(如果没有必要)或替换和托管我自己的服务器?

javascript jquery cdn qtip qtip2

7
推荐指数
2
解决办法
6489
查看次数

JSON.stringify()到UTF-8

据我所知,Javascript使用UTF-16作为字符串的标准.使用JSON.stringify(),我可以从对象创建一个JSON字符串.

那个JSON字符串是UTF-16编码的吗?

我可以将该字符串转换(希望快)到UTF-8以节省大文件(1MB JSON)的带宽吗?

javascript json utf-8 utf-16

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

限制Java中的类型以在List中使用

如何通过一List<T>组我未向方法声明的某些允许类型传递.

例如,将类型限制为Integer,Boolean和String:

// Pseudo code
public void method(List<Integer OR Boolean OR String> myList);
Run Code Online (Sandbox Code Playgroud)

如果我使用List<Object>我可以将所有内容放入该列表:

public void method(List<Object> myList);
Run Code Online (Sandbox Code Playgroud)

如果我使用List,我可以将其所有实例Parent及其子类放入该列表中:

public void method(List<Parent> myList);
Run Code Online (Sandbox Code Playgroud)

如果我是声明那些子类(AllowedTypeA extends Parent)的那个就足够了.但是,当我不是我想要使用的类的所有者时,我能做什么(我无法进行Integer扩展Parent)?

java generics

6
推荐指数
2
解决办法
1966
查看次数

Java 对象的 JSONPath 解析器

如何通过应用 JSONPath 表达式从 Java 对象而不是从 JSON 字符串获取值?


我收到一个从 JSON 字符串创建的 Java 对象(通过 Jackson,无法影响它):

public class MyJSONInputClass {
    private String foo;
    private int[] bar = { 1, 5, 9 };
    private OtherClass baz;
    ....
}
Run Code Online (Sandbox Code Playgroud)

我进一步有一些 JSONPath 表达式作为 Java 字符串反映对象中的值(它们可能更复杂):

"$.foo"
"$.bar[5]"
"$.baz.someProperty"
Run Code Online (Sandbox Code Playgroud)

我想使用生成的 java 对象(MyJSONInputClass 的实例,解组后)解析这些表达式:

public Object resolve(MyJSONInputClass input, String expression) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

java reflection json jsonpath jackson

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

使用Phonegap构建的Phonegap App构建在iOS上构建具有错误的警报

我们正在开发一个带有Phonegap 2.5.0的应用程序(因为Phonegap Build中没有更新的版本)并且遇到了麻烦.

该应用程序是一个简单的测试应用程序,我们用来比较jQuery Mobile和Sencha Touch.因此,我们创建了一个index.html文件,其中包含指向jquery.html和sencha.html的链接,这些链接使用不同的UI实现相同的应用程序,但调用相同的phonegap触发器.

我们有两个构建配置:

我们使用与本地构建的Android应用相同的网络内容.我们只删除<script>加载了2.5.0 的cordova.js的元素,并将内容与我们在本地构建的Android应用程序中使用的相同config.xml一起打包.本地构建的Android应用程序工作得很好.仅当通过Phonegap Build在线为iOS构建应用程序时才会出现问题.正如预期的那样,Android应用程序在线构建.只有iOS会带来麻烦.

iOS上会发生什么:

  • index.html已加载
  • 我们可以点击切换到jquery.html或sencha.html的链接.
  • 切换应用程序警报后,通过以下消息轮换一些对话框:
    1. gap:["Device","getDeviceInfo","Device455526479"]
    2. gap:["NetworkStatus","getConnectionInfo","NetworkStatus8103758"]
    3. gap:["App","show","App8103759"]
  • 然后我们可以访问应用程序甚至能够获得当前的GPS位置.

有任何想法吗?非常感谢!

我们的config.xml:

<?xml version="1.0" encoding="utf-8"?>
<cordova>
    <access origin="http://127.0.0.1*"/>; <!-- allow local pages -->
    <access origin=".*"/>
    <content src="index.html" />
    <log level="DEBUG"/>
    <preference name="useBrowserHistory" value="true" />
    <preference name="exit-on-suspend" value="false" />
    <plugins>
        <plugin name="App" value="org.apache.cordova.App"/>
        <plugin name="Geolocation" value="org.apache.cordova.GeoBroker"/>
        <plugin name="Device" value="org.apache.cordova.Device"/>
        <plugin name="Accelerometer" value="org.apache.cordova.AccelListener"/>
        <plugin name="Compass" value="org.apache.cordova.CompassListener"/>
        <plugin name="Media" value="org.apache.cordova.AudioHandler"/>
        <plugin …
Run Code Online (Sandbox Code Playgroud)

jquery extjs cordova phonegap-build

5
推荐指数
2
解决办法
5168
查看次数

从范围变量中删除属性

我有一个范围变量$scope.object = { prop: 12345 },我删除它的属性设置为undefined.

<button ng-show="object.prop" ng-click="object.prop = undefined"/>
Run Code Online (Sandbox Code Playgroud)

是否有可能从模板中删除属性而控制器中没有附加功能而不是将其值设置为undefined

angularjs angularjs-scope angularjs-templates

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

测试对象是否是Google Closure类框架中的接口实现

如何使用Google Closure继承机制测试JavaScript对象是否是接口的实现?


我找不到任何暗示my.Animal在通过创建对象new my.Dog()object instanceof my.Animal没有奏效.忘记在子类中实现方法时,有关接口的唯一信息是编译器错误.

/**
 * @interface
 */
my.Animal = function() {};

/**
 * Does something.
 * @return {string}
 */
my.Animal.prototype.doSomething;

/**
 * @constructor
 * @implements {my.Animal}
 */
my.Dog = function() {};

/** @inheritDoc */
my.Dog.prototype.doSomething() = function {
    return "something";
}

var dog = new my.Dog();
console.log(dog instanceof my.Animal); // returns false
Run Code Online (Sandbox Code Playgroud)

我找到的一种方法是大致测试接口的属性,尽管这在很多方面都很糟糕:

console.log(!!dog.doSomething); // returns true
Run Code Online (Sandbox Code Playgroud)

javascript google-closure google-closure-library google-closure-compiler

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

与脚本所需的内存相比,为什么 NodeJS 在操作系统中占用如此多的虚拟内存?

我正在运行一个 5k loc Express 应用程序,其中包含许多其他依赖项,包括 Express。该应用程序称它需要大约 60 MB RAM RSS。但是,当查看我的 Linux 机器上的实际 RAM 使用情况时,top我发现它使用了约 1200 MB VIRT 内存,而仅占用了约 60 MB RES (RSS) 内存。

然后我编写了一个简单的test.js脚本来隔离案例:

setInterval(() => {
  console.log(JSON.stringify(process.memoryUsage()));
} , 1000);
Run Code Online (Sandbox Code Playgroud)

并开始使用:node test.js

它告诉我它使用了大约 30 MB RAM:

{"rss":30097408,"heapTotal":6537216,"heapUsed":3829224,"external":8272}
Run Code Online (Sandbox Code Playgroud)

再次查看top命令中的内存,它显示 RES 为 30 MB,但 VIRT 使用量约为 470 MB。

PID  USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
8498 ted       20   0  485948  29928  23540 S   0,3  0,8   0:00.44 node
Run Code Online (Sandbox Code Playgroud)

NodeJS 这样看起来并不轻量。 …

linux virtual-memory node.js

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