Javascript 使用AngularJS在控制器中传递数据
我的应用程序中有两个视图。我想将第一视图输入传递给我的第二视图占位符。我在下面创建了一个服务Javascript 使用AngularJS在控制器中传递数据,javascript,angularjs,Javascript,Angularjs,我的应用程序中有两个视图。我想将第一视图输入传递给我的第二视图占位符。我在下面创建了一个服务 .service('greeting', function Greeting() { var greeting = this; greeting.message = 'Default'; }) .controller('LogonController', function LogonController(greeting) { var first = this; fir
.service('greeting', function Greeting() {
var greeting = this;
greeting.message = 'Default';
})
.controller('LogonController', function LogonController(greeting) {
var first = this;
first.greeting = greeting;
})
.controller('VideoController', function VideoController(greeting) {
var second = this;
second.greeting = greeting;
});
下面是我使用不同控制器的两个不同视图
<div ng-controller="LogonController as first">
<form>
<input type="text" data-ng-model="first.greeting.message" placeholder="{{ first.greeting.message }}"> //1ST VIEW
</form>
</div>
<div ng-controller="VideoController as second">
<h1>{{ second.greeting.message }}</h1>
<div> //2ND VIEW
//第一视图
{{second.greeting.message}
//第二视图
在我输入之前,我希望在我的第一个表单视图中得到一个带有默认消息的占位符
我该如何让它工作。可能您正在测试的任何浏览器都不喜欢在未关闭的
中添加视频控制器的位置:
<div ng-controller="VideoController as second">
<h1>{{ second.greeting.message }}</h1>
<div> <-- this should be a closing /div
到底是什么不起作用?您将无法获得灰显占位符文本,因为您还有设置输入值的data ng model=“first.greeting.message”
。我希望实现的是获得在第一个视图中输入的输入文本,以便在第二个视图中显示。例如,如果我输入我的名字,它应该显示在第二个视图中。我希望我说的有道理。如果它对您不起作用,那么控制台中一定有某种错误。我刚刚尝试了您在JSFIDLE中提供的代码,效果很好。控制台中没有出现错误@莱克斯,你能帮我提供JSFIDLE链接吗?
<div ng-app="app">
<div ng-controller="LogonController as first">
<form>
<input type="text" data-ng-model="first.greeting.message" placeholder="{{ first.greeting.message }}">
</form>
</div>
<div ng-controller="VideoController as second">
<h1>{{ second.greeting.message }}</h1>
</div>
</div>
angular.module('app', [])
.service('greeting', function Greeting() {
var greeting = this;
greeting.message = 'Default';
})
.controller('LogonController', function LogonController(greeting) {
var first = this;
first.greeting = greeting;
})
.controller('VideoController', function VideoController(greeting) {
var second = this;
second.greeting = greeting;
});