Angularjs 如何避免在视图中丢失已完成的字段
我有2个控制器和2个视图。视图A包含多个输入文本、复选框、文本字段等。单击一个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
为什么不使用服务在状态之间保留数据
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;
});