【发布时间】:2014-03-30 08:50:44
【问题描述】:
好吧,我完全被这个吓傻了。 (我可能忽略了一些明显的东西,但是......)
我连续两次调用 console.log。他们之间没有别的事了
console.log($state);
console.log($state.current);
这是生成结果的图像
为什么两者会产生不同的“当前”对象?怎么会这样?
上下文:
这些调用是在 ajax 调用中进行的,同时解决路由依赖关系。如果您需要更多代码或上下文,请告诉我。
在 Chrome 和 Firefox 中确认了同样的问题
Ajax 调用和包装函数(没有任何修改)
normaCtrl.publicNorma = ['$http', '$state', '$stateParams', 'baseUrl', function ($http, $state, $stateParams, baseUrl)
{
var id = $stateParams.id;
return $http.get(baseUrl + "api/public/norma/" + id).then(
function (response) {
console.log($state);
console.log($state.current);
console.log($state.current.title);
return response.data;
}
);
}];
可能的相关问题
【问题讨论】:
-
请提供您的 ajax 请求代码)
-
是否有可能触发多个 ajax 请求?你能显示 $state 的实际设置位置吗?
-
其他对象会影响这个变量吗?
-
$state 由 AngularJs 的第三方库 ui-router 设置
-
@FUserThrowError 是的,其他对象可能会影响此变量。 AngularJS 在后台做了很多事情
标签: javascript angularjs console.log angular-ui-router