【发布时间】:2020-01-02 02:56:15
【问题描述】:
我有一个 Nav,其中有 两个 页面代表两个 AngularJS 组件 - Home 和 About。我想将user 名称从Home 组件传递给About 组件。
<div ng-app="myApp">
<ul>
<li><a href="#!/home">Home</a>
</li>
<li><a href="#!/about">About</a>
</li>
</ul>
<div ng-view></div>
</div>
我尝试使用bindings 和< 建立组件通信,但没有运气。基本上,它们都是独立的组件。在这种情况下,如何将数据从一个组件传递到另一个组件。
我使用CodePen 创建了一个工作示例。任何人都可以指导如何做到这一点。
组件和路由配置
app.component("home", {
template: `<h1>Home</h1>
Hi {{$ctrl.user}}!`,
controller: function HomeController() {
this.user = "John.";
}
});
app.component("about", {
template: `<h1>About</h1>`,
controller: function AboutController() {}
});
app.config(function($routeProvider) {
$routeProvider
.when("/home", {
template: "<home></home>"
})
.when("/about", {
template: "<about></about>"
})
.otherwise({
redirectTo: "/home"
});
});
【问题讨论】:
-
强烈推荐使用服务:docs.angularjs.org/guide/services
-
是的。我昨天已经实现了它并且很容易。 @ChristopherMarshall
标签: javascript html angularjs ngroute angularjs-components