这是我的app.js文件-我有一个父状态和两个子状态。两个子视图都需要该对象。
states.push({
name: 'parentstate',
url: '/parent/:objId',
abstract: true,
templateUrl: 'views/parentview.html',
controller: function() {},
resolve: {
obj: function(OBJ, $stateParams) {
return OBJ.get($stateParams.objId);
}
}
});
我想使用此已解析的obj来决定子模板
states.push({
name: 'parentstate.childs',
url: '/edit',
views: {
"view1@parentstate": {
templateUrl: 'views/view1',
controller: 'view1Ctrl'
},
"view2@parentstate": {
templateUrl: function(obj) {
if (obj.something == something) {
return "views/view2first.html";
} else {
return 'views/view2second.html';
}
},
controller: 'view2Ctrl'
}
}
});
我怎样才能做到这一点?
有一个可行的例子。而不是templateUrl
我们应该使用templateProvider
。这是新的状态def:
$stateProvider
.state('parentstate.childs', {
url: '/edit',
views: {
"view1@parentstate": {
templateUrl: 'views.view1.html',
controller: 'view1Ctrl',
},
"view2@parentstate": {
templateProvider: function($http, $stateParams, OBJ) {
var obj = OBJ.get($stateParams.objId);
var templateName = obj.id == 1
? "views.view2.html"
: "views.view2.second.html"
;
return $http
.get(templateName)
.then(function(tpl){
return tpl.data;
});
},
controller: 'view2Ctrl',
}
}
});
我们为什么要使用这种方法?如此处记录:
TemplateUrl
…templateUrl
也可以是返回url的函数。 它采用一个预设参数stateParams
,该参数不会被注入。TemplateProvider
或者您可以使用 模板提供程序 函数,该函数 可以被注入,可以访问locals 并且必须返回模板HTML,如下所示:
检查TemplateProvider
此工作插销中的基础解决方案
问题内容: 我的问题有两个: 1-我使用ui.router有一个父状态和几个子状态,所有状态都需要一个对象(存储在mongodb中),但是所有状态都会更新该对象。在这种情况下,使用父状态的resolve选项填充对象是否有意义? 2-如果这是执行此操作的正确方法,则如何从每个状态将“引用”(由ui.router创建的模拟服务注入器)更新为该对象。 为了帮助解释,他是这个想法的示例(省略了大量代码)
我有以下来自< code>API的数据: 查看 。 由于我需要将其传递给组件,因此,我需要将其转换为以下内容: 我想根据将对象设为其父级的子级。该方案是如果为空,则它是顶级父级,如果长度为2,则它是第一级子级,如果长度为5,则它是第三级子级,然后如果长度为8,则它是第四级子级,然后长度为11,则它是第五级子级。由于第1级的孩子有2个长度的,那么后续的孩子将拥有作为家长加号的。为了更好地理解,请参阅
我想做一个卡鲁塔风格的纸牌匹配游戏。随机选择一张卡片并显示在页面顶部。所有其他卡片显示在下面。这些卡是从带有的JSON中提取的。 预期结果: 单击下卡片。 如果下卡的id(?)==较高卡的id,得分,生成新的购物车。 不过,我不知道如何比较这两者。如何从子组件获取信息以与父组件状态进行比较?我不确定如何使用handleComparison()函数在此处找到特定单击div的“x”。 //if(thi
问题内容: 我如何解析这个json对象: 我可以有N个端口,每个端口的值始终是key:value对。 到目前为止,我已经尝试过了: 有了这个我得到键(0,1),但值是空的。 我也尝试过这个: 但也不行。 这就是我解码json对象的方式: 问题答案: 使用此类型: 游乐场的例子 笔记: 字段名称非常匹配。我使用字段名称“ Ports”来匹配JSON文本中使用的名称。 Go类型在JSON中应具有相同级
我有两个React组件,即和使用了一些重要的UI组件,但我相信它们与我的问题无关。 在,使用effect调用,该函数解析为一个类别数组,例如,。 我的目标是访问父组件()中复选框的状态(选中或未选中)。我采取了这个问题中建议的方法。(见验证答案) 有趣的是,当我记录
问题内容: 在我正在开发的一个有角度的应用程序中,我希望有一个抽象的父状态,该状态必须解析其所有子状态的某些依赖关系。具体来说,我希望所有要求经过身份验证的用户的状态都必须从某些authroot状态继承该依赖项。 我遇到了无法始终解决父依赖关系的问题。理想情况下,我想让父状态检查用户是否仍自动登录到任何子状态。在文档中,它说 子状态将从父状态继承已解析的依赖项,并可以将其覆盖。 我发现仅当我从父级