从 angular 中的对象创建 url 对象
Create url object from object in angular
我正在尝试使用我创建的对象设置 url(在 angular 中)。这是一个对象数组,我会让它在 url 字符串上设置以执行某种 "save state".
我有我的对象 -
[{"key1" : true}, {"key2" : false}];
我基本上想将它设置为一个 url 对象,这样我就可以为我的状态获得自定义的 url 字符串 - 然后在着陆时解释它以更改状态(因此用户可以发送自定义 urls).
所以在它只有一个对象之前,我可以传递对象并做类似
的事情
$scope.myObject = true;
$location.search($scope.myObject);
但我正在尝试将一些对象组合成一个大对象,这样我就可以在一个地方(在工厂中)跟踪几个不同的状态。我遇到的问题是,如果 location.search 参数是一个对象数组,我似乎无法让它工作。我得到一个 "undefined is not a function",它指向 angular 内部。
这有什么技巧吗?需要一些帮助,这是我第一次尝试这个。另外,我试图在不刷新的情况下更改 url。谢谢!
而不是:
[{"key1" : true}, {"key2" : false}];
尝试:
{"key1" : true, "key2" : false};
这是 "one big object" 的正确 JSON 语法。
要从一个对象数组变成一个大对象,您必须遍历数组并构建一个具有从数组中发现的属性的新对象:
var newObj = {};
var oldArray = [{"key1" : true}, {"key2" : false}];
for (var i = 0; i < oldArray.length; i++) {
var obj = oldArray[i];
for (param in obj) {
newObj[param] = obj[param];
}
}
// newObj is now one big object.
我正在尝试使用我创建的对象设置 url(在 angular 中)。这是一个对象数组,我会让它在 url 字符串上设置以执行某种 "save state".
我有我的对象 -
[{"key1" : true}, {"key2" : false}];
我基本上想将它设置为一个 url 对象,这样我就可以为我的状态获得自定义的 url 字符串 - 然后在着陆时解释它以更改状态(因此用户可以发送自定义 urls).
所以在它只有一个对象之前,我可以传递对象并做类似
的事情$scope.myObject = true;
$location.search($scope.myObject);
但我正在尝试将一些对象组合成一个大对象,这样我就可以在一个地方(在工厂中)跟踪几个不同的状态。我遇到的问题是,如果 location.search 参数是一个对象数组,我似乎无法让它工作。我得到一个 "undefined is not a function",它指向 angular 内部。
这有什么技巧吗?需要一些帮助,这是我第一次尝试这个。另外,我试图在不刷新的情况下更改 url。谢谢!
而不是:
[{"key1" : true}, {"key2" : false}];
尝试:
{"key1" : true, "key2" : false};
这是 "one big object" 的正确 JSON 语法。
要从一个对象数组变成一个大对象,您必须遍历数组并构建一个具有从数组中发现的属性的新对象:
var newObj = {};
var oldArray = [{"key1" : true}, {"key2" : false}];
for (var i = 0; i < oldArray.length; i++) {
var obj = oldArray[i];
for (param in obj) {
newObj[param] = obj[param];
}
}
// newObj is now one big object.