大家好我正试图使用angular js将一个字段值从一个html页面带到另一个html页面。以下是代码片段
HTML:
<body ng-app="myApp">
<div ng-controller="ExampleOneController">
Name:<input type = "text" ng-model="newVar.val">
</div>
<div ng-controller="ExampleTwoController">
<pre>value of name is {{anotherVar.val}}</pre>
</div>
AngularJS:
var myApp = angular.module("myApp", []);
myApp.controller("ExampleOneController", function($scope, NewsService) {
$scope.newVar = {
val: ""
};
NewsService.newVar = $scope.newVar;
$scope.news = NewsService.news;
});
myApp.controller("ExampleTwoController", function($scope, NewsService) {
$scope.anotherVar = NewsService.newVar;
$scope.news = NewsService.news;
});
如果我将元素放在同一页面中,但是如果我将它们放在两个不同的html页面中,它工作正常
我在哪里做错了。请帮帮我
谢谢 标记
答案 0 :(得分:1)
根据您在评论中指定的内容,您似乎在实际页面之间导航而不是AngularJS页面。
执行此操作时,您的浏览器基本上会删除所有内容并从服务器请求新页面(极端过度简化但仍然有效)。这意味着它还会删除Angular应用程序的当前状态,并在新页面上重新创建它。
为了避免这种情况,您应该开始使用Angular路由并将需要Angular的所有内容保存到单页面应用程序(SPA)。
我建议使用ui-router,因为我发现它非常有用: https://github.com/angular-ui/ui-router