我有一个对象附加到$scope
我要序列化为JSON的对象.该对象已设置为数据绑定,因此有输入字段使用ng-model
和不使用.尝试呼叫时angular.toJson
,值不是最新的.
奇怪的是,我认为我的价值观并没有像我想象的那样得到更新.所以我提出了一些console.log
简单的调用,但是来自的值console.log
是正确的,但它们不适用于JSON转换?我测试了它,JSON.stringify
但结果是一样的.码:
// This looks fine
console.log('Data:', $scope.obj);
var temp = angular.toJson($scope.obj);
// This looks fine as well...
console.log('Data:', $scope.obj);
// Yet the JSON string isn't correct and contains old data?
console.log('Data:', temp);
Run Code Online (Sandbox Code Playgroud)
这是一个Angular问题,我看起来与数据绑定有关吗?或者还有其他事情发生了吗?
我有一些代码在特定的地方使用反射来实例化一些像这样的对象:
String className = type.toString();
Class klass = Class.forName(className);
Run Code Online (Sandbox Code Playgroud)
在正常环境中运行时,这段代码可以正常工作.但是,当我尝试对运行这两行的方法进行单元测试时,我不断获得java.lang.ClassNotFoundException
异常.
起初我认为这与我试图实例化的类没有被包含在类路径中这一事实有一些奇怪的原因.所以我接着这样做了:
// Where type variable points to java.lang.String rather than my own class
String className = type.toString();
Class klass = Class.forName(className);
Run Code Online (Sandbox Code Playgroud)
然而它仍然失败:
java.lang.ClassNotFoundException: class java.lang.String
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
Run Code Online (Sandbox Code Playgroud)
我一直在研究ClassLoader并试图确定为什么它似乎找不到任何类但无济于事.
有没有人知道为什么只有在TestNG运行代码时才会发生这种情况以及该怎么办?