Angularjs 如何避免在视图中丢失已完成的字段

Angularjs 如何避免在视图中丢失已完成的字段,angularjs,Angularjs,我有2个控制器和2个视图。视图A包含多个输入文本、复选框、文本字段等。单击一个为什么不使用服务在状态之间保留数据 var myApp=angular.module('myApp',['ui.router'])) .config(函数($stateProvider){ $stateProvider.state('A'{ 网址:“/A”, 模板:“下一步”, 控制器:功能($scope,MainService){ 控制台日志(“A”); $scope.mainService=mainService

我有2个控制器和2个视图。视图A包含多个输入文本、复选框、文本字段等。单击一个

为什么不使用服务在状态之间保留数据

var myApp=angular.module('myApp',['ui.router']))
.config(函数($stateProvider){
$stateProvider.state('A'{
网址:“/A”,
模板:“


下一步”, 控制器:功能($scope,MainService){ 控制台日志(“A”); $scope.mainService=mainService; } }).州('B'{ 网址:“/B”, 模板:“返回”, 控制器:功能($scope){ 控制台日志(“B”); } }); }) .controller('MainCtrl',函数($scope,$state){ $state.go(“A”); }) .service('MainService',function(){ this.inputValue=“”; this.checkboxValue_1=false; this.checkboxValue_2=false; });
您甚至不在计算机上使用
ngModel
指令inputs@AlonEitan我不使用ng模型,因为我只是想知道如何不丢失数据。我不认为这有什么关系,也不认为这有什么关系?这非常重要:)这将帮助您,您必须使用
ngModel
,以便work@AlonEitan我了解localstorage和ng模型。但我想知道是否有比保存值更简单的解决方案​​一场接一场?。类似于cache:trueNo这样的东西AFAIK,您要么需要将其保存到数据库中(这需要服务器端开发知识),要么需要在客户端保存值(使用ngStorage服务非常容易)“这”通常指的是功能的范围。在此上下文中,“this”是MainService功能的范围。这就是我们在angular service中声明变量的方式。更多关于它的阅读
var myApp = angular.module('myApp', ['ui.router'])
.config(function ($stateProvider) {

    $stateProvider.state('A', {
        url: "/A",
        template: '<input type="text"><br><input type="checkbox"><br><input type="radio"><br><a ui-sref="B">NEXT</a>',
        controller: function ($scope) {
            console.log("A");
        }
    }).state('B', {
        url: "/B",
        template: '<a ui-sref="A">BACK</a>',
        controller: function ($scope) {
            console.log("B");
        }
    });
})

.controller('MainCtrl', function ($scope, $state) {
 $state.go("A");
});
var myApp = angular.module('myApp', ['ui.router'])
.config(function ($stateProvider) {

$stateProvider.state('A', {
    url: "/A",
    template: '<input type="text" ng-model="mainService.inputValue"><br><input type="checkbox" ng-model="mainService.checkboxValue_1"><br><input type="radio" ng-model="mainService.checkboxValue_2"><br><a ui-sref="B">NEXT</a>',
    controller: function ($scope, MainService) {
        console.log("A");
        $scope.mainService = MainService;
    }
}).state('B', {
    url: "/B",
    template: '<a ui-sref="A">BACK</a>',
    controller: function ($scope) {
        console.log("B");
    }
});
})

.controller('MainCtrl', function ($scope, $state) {
 $state.go("A");
})

.service('MainService', function() {
 this.inputValue = "";
  this.checkboxValue_1 = false;
    this.checkboxValue_2 = false;

});