- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要处于“子”状态的数据,而且我正在努力获取它。问题是我希望数据每次都来自 $rootScope。
所以这里是 - 我的问题的概述。
我正在使用状态提供程序。所以这是我的第一个状态:
.state('dashboard.create', {
// parent: 'dashboard',
url: '/create',
views: {
'': {
templateUrl: "/app/partials/create.html",
controller: "CreateCtrl",
}
}
})
在 CreateCtrl 中,我所做的就是调用此 dashboardAPI.lessons();
services.factory('dashboardAPI', ['$rootScope', '$q', '$http', function(rootScope, $q, $http) {
function load(path) {
return $http.get("/app/data" + path);
}
return {
lessons: function() {
var deferred = $q.defer();
if (rootScope.lessons == undefined) {
load("/getLessons.json").success(function (data) {
rootScope.lessons = data.result;
deferred.resolve(data.result);
}).
error( function() {
console.log("Problem getting lessons");
});
}
else
deferred.resolve(rootScope.lessons);
return deferred.promise;
}
};
}]);
这用于填充 rootScope.lessons 对象,以便我可以填充 View 。
然后,有一个像这样的子状态:
.state('dashboard.create.lessons', {
// parent: 'create',
url: '/lessons',
views: {
'curriculum': {
templateUrl: "/app/partials/create.lessons.html",
controller: ['curriculumHash', function(curriculumHash){
curriculumHash.sstHash();
}],
},
}
})
在这个 Controller 中它正在调用另一个服务:
services.factory('curriculumHash', ['$rootScope', '$q', 'dashboardAPI', function(rootScope, $q, dashboardAPI) {
return {
sstHash: function() {
var deferred = $q.defer();
if (rootScope.sstopicsArray == undefined) {
//Get a promise back from API call
dashboardAPI.lessons().then(function(data) {
rootScope.sstopicsArray = [];
var x = data.Topics;
for (var i=0; i<x.length; i++) {
var y = x[i].Subtopics;
for (var j=0; j<y.length; j++) {
var z = y[j].Subsubtopics;
for (var k=0; k<z.length; k++) {
rootScope.sstopicsArray.push({
Id: z[k].Id,
Name: z[k].Name,
Description: z[k].Description,
List: z[k].Lessons
});
}
}
}
return deferred.resolve();
});
}
else
return deferred.resolve();
}
};
}]);
这也行得通。在填充数组时,我可以用它来用一些可排序的 jquery 列表填充 View 。换句话说,我必须将一个非常长的对象(上面的类(class))分解成更简单的哈希数组。
现在,这是我想把我的电脑扔出窗外的地方:
我需要一个子(子)状态,我可以在该新哈希中找到一个对象。
.state('dashboard.create.lessons.detail', {
// parent: 'lessons',
url: '/{lessonId}',
views: {
'detail@dashboard.create': {
templateUrl: "/app/partials/create.detail.html",
resolve: {
getData: "curriculumHash"
},
controller: ['$scope', '$stateParams', 'getData', function(scope, stateParams, getData){
getData.sstHash().then(function() {
for (var i=0; i<scope.sstopicsArray.length; i++) {
var b = a[i];
for (var j=0; j<b.length; j++) {
if (b[j].Id == stateParams.lessonId)
scope.activeItem = b[j];
};
}
});
})
}],
}
}
})
我到处搜索如何使用 resolve 的一个像样的例子。不管怎样,当我在 dashboard.create.lessons.detail 状态的 Controller 中设置停止中断时,它说 getData 未定义并且 chrome 会抛出错误,因为您无法获取 undefined object 的长度。
谁能给点建议。我真的需要这些东西在范围内,因为我想玩这个模型。如果有人还可以向我推荐一些比 angular ui 网站上更彻底的解决文档,那可能会有所帮助。谢谢!
最佳答案
我最终做的是在我的 curriculumHash 服务中返回一个 promise 。然后将 resolve 放入 appStates.js 中,以便 Controller 在 promise 被解析之前不会启动。
像这样:
.state('dashboard.create', {
// parent: 'dashboard',
url: '/create',
views: {
'': {
templateUrl: "/app/partials/create.html",
resolve:{
'curriculumHashPromise':function(curriculumHash){
return curriculumHash.promise;
}
},
controller: ['$rootScope', function(rootScope){
//I will have access to all curriculumHash methods as well as dashBoard
}],
}
},
我提到了这个question here找到我的答案。如果有人需要更多详细信息,请告诉我,但该引用非常有用。
关于angularjs - 解决 Angular UI Router appStates 不提供范围数据的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17261909/
我已经为我的 Python App Engine 应用程序启用了 appstats,我可以在/_ah/stats/url 下本地访问它,但是当我部署应用程序并在 UI 中访问我的应用程序下的 apps
观看后Guido's Google IO talk并听到提到它可以扩展(从而提供记录您自己的事件的仪器机制),我仍然不知道如何做到这一点。 这些函数都是用于处理 RPC,而不仅仅是昂贵的函数(或包装器
我遇到性能问题,但我不知道它来自哪里。 createLogoutURL 和第一个数据存储查询之间的差距是巨大的......它在以下代码段落之间: loginInfo.setLogoutUrl(user
我在 gae 上有一个 Flask 应用程序,它工作正常。我正在尝试添加 Appstats 支持,但一旦启用它,我就会陷入僵局。 当我尝试使用登录的用户 ndb 模型设置 werkzeug Local
我正在使用此处记录的 Appstats: http://code.google.com/appengine/docs/python/tools/appstats.html 它工作正常,但现在每个请求都
答案here通过 Widget 显示正在退出的应用程序。 我想知道,如果我可以退出 initPlatformState(){...} 特别针对我的情况,我在 initPlatformState(){.
当我的 Activity 关闭时,我将应用程序状态数据序列化到文件中,以便在应用程序被系统终止时让我有机会重新加载状态。 这种方法(保存和恢复状态)效果很好。但是,有时,当进程被终止时,根据要加载的数
我正在本地分析我的应用程序(使用开发服务器)以获取有关 GAE 工作原理的更多信息。我的测试正在比较常见的完整实体查询和投影查询。在我的测试中,两个查询都执行相同的查询,但投影指定了 2 个属性。测试
取these stats来自post以 App Engine 博客为例: real = 107ms cpu = 141ms api = 388ms overhead = 1ms RPC Tota
我在 react-native 上使用 AppState,所以我可以知道我的应用程序何时处于事件状态或在后台。我可以使用 AppState 获得事件状态,但我无法获得后台状态,因为当我将应用程序加倍以
如何触发 AppState 监听器来检查它是否正常工作? AppState.addEventListener('change', (nextAppState) => { console.log('t
我一直在关注克隆 flutter uber 应用程序的教程,并不断收到错误消息: ** 错误:在此 MapSample 小部件上方找不到正确的提供程序**,我正在尝试将地理位置添加到我的应用程序中,我
我正在使用GWT和Google API引擎的项目中工作。该项目没有依赖项管理器,因此我们正在实现Gradle。 问题是我们在执行过程中遇到一些错误。与Appstats基本相关。 这是错误: FAILE
在分析 Appstats 跟踪 datastore_v3.Get 调用时,了解正在从数据存储区检索哪些实体将非常有帮助。是否有隐藏的配置标志可以启用此功能? 我尝试在 appengine_config
我有一些代码想要在我的应用程序从后台恢复时运行。为此,我使用 AppState.addEventListener() 注册一个事件。 const handleAppStateChange = ()
我在获取 Appstats 时遇到问题才能正常工作。使用/appstats 或/appstats/stats 会陷入无限循环,不断重定向回/appstats/stats。这会导致 404 错误,指出页
我正在使用 Google AppEngine (python),我的应用程序日志使用 UTC。然而,我的 AppStats 正在返回看起来像 PST 的内容。 如何将 AppStats 使用的时区更改
我们的应用程序每秒处理几十个请求,其中一小部分比其他请求花费更多的时间来处理。我们有兴趣“剖析”那些缓慢的请求,但是 appstats 似乎只保留已处理请求的小窗口,因此我们感兴趣的请求很快就会消失。
我的 java appengine 应用程序中有几个 servlet,它们在内存中进行排序并按秒顺序完成。这些完全没有错误。 但是,我最近为 appengine 启用了 appstats 并开始收到以
如果我尝试按照文档的建议将命名空间作为第一个参数传递,我会得到“undefined”作为值(“test”在模块定义中设置) ...mapState('guest', { email: stat
我是一名优秀的程序员,十分优秀!