我在一个页面中有一个输入文本。我想使用angular存储来自此输入的信息,因此当移动到另一个页面时,我可以在另一个输入文本中显示它。
我尝试过使用ng-model
和ng-init
<input type="text" ng-model="inputText" ng-init="userText">
进入控制器
$scope.userText = $scope.inputText;
但它似乎不起作用。你可以看到a working plunker here。提前谢谢!
PS:我需要在两个页面之间进行(不是单页然后路由)。
答案 0 :(得分:2)
基本上发生的事情是,当您更改页面时,您的变量会被重置。您可以使用localstorage实现所需。以下是一个例子
JS:
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.saved = localStorage.getItem('userText');
$scope.userText = (localStorage.getItem('userText')!==null) ? $scope.saved : "";
$scope.editText = function(){
localStorage.setItem('userText', $scope.userText);
}
});
第1页:
<head>
<link rel="stylesheet" href="style.css">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular.min.js"></script>
<script src="script.js"></script>
</head>
<body ng-app="myApp" ng-controller="myCtrl">
<a href="index.html">Home</a>
<a href="anotherpage.html">Another page</a><br><br><br>
<input type="text" ng-model="userText" ng-keyup="editText()">
</html>
第2页:
<head>
<link rel="stylesheet" href="style.css">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular.min.js"></script>
<script src="script.js"></script>
</head>
<body ng-app="myApp" ng-controller="myCtrl">
<a href="index.html">Home</a>
<a href="anotherpage.html">Another page</a><br><br><br>
<input type="text" ng-model="userText" ng-keyup="editText()">
<h1>This is Another Page!</h1>
</body>
</html>
请检查此plunker:http://plnkr.co/edit/eyywQGgWjhC8gS7Wprcw?p=preview
答案 1 :(得分:0)
您可以将rootscope / localstorage / URL存储为参数。目标网页上的检索值