【发布时间】:2015-09-10 20:56:51
【问题描述】:
我最近在 egghead.io 上观看了一个视频,该视频展示了如何进行多个命名视图 (https://jsbin.com/nanifo/7/edit?html,js,output)。我有一个应用程序,我需要将一些参数传递给命名视图。
像下面这样配置我的应用程序允许参数 p1 和 p2 在“测试”状态之间传递:
angular.module("testapp",['ui.router'])
.config(function($stateProvider) {
.state("test", {
abstract: true,
url: "/test",
templateUrl: "app/template/testabstract.html",
controller: "TestAbstractController",
params: {
p1: null,
p2: null
}
})
.state("test.view1", {
url: "/view1",
templateUrl: "app/template/testview1.html",
controller: "TestView1Controller"
})
)};
在这里查看工作的 jsbin:https://jsbin.com/cedeqa/12/edit?html,js,output
最初,当我将状态更改为更“细化”时它不起作用,因为我将参数放在了错误的位置:
angular.module("testapp",['ui.router'])
.config(function($stateProvider) {
.state("test", {
abstract: true,
url: "/test",
views: {
"footer@": { templateUrl: "app/template/footer.admin.html" },
"": {
templateUrl: "app/template/adminabstract.html",
controller: "AdminAbstractController",
params: {
p1: null,
p2: null
}
}
},
})
.state("test.view1", {
url: "/view1",
templateUrl: "app/template/testview1.html",
controller: "TestView1Controller"
})
)};
但是,实验(和重读文档)向我展示了参数真正需要去哪里:https://jsbin.com/jijuca/4/edit?html,js,output
我想,我已经设法让它按照我想要的方式工作......但是,我应该这样做吗?有没有更好的方法在“兄弟姐妹”之间共享数据?
【问题讨论】:
-
HTML 到底发生了什么?
-
感谢您的评论。我将使用索引更新问题并尝试组合一个 jsfiddle。这是我的灵感:egghead.io/lessons/angularjs-ui-router-named-views
-
努力拼凑一个例子。一旦我得到方法#1 的工作 jsbin 示例和方法#2 stackoverflow.com/questions/32514809/… 的强烈尝试,将立即发布
标签: angularjs angular-ui-router