Angularjs 在两个元素之间切换时,角度JS表单值重置

Angularjs 在两个元素之间切换时,角度JS表单值重置,angularjs,Angularjs,当使用单选按钮来回切换时,表单值会被重置。为什么$scope.user会重置并且不会保持持久性 var-app=angular.module(“myApp”,“ui.bootstrap”); 应用程序控制器( “myCtrl”, 职能($范围){ $scope.radio_test=“0”; $scope.user=“John Doe”; } ); 选择: 弗斯特 第二 用户名: 用户名是必需的。 别的 使用语法(运行下面的代码片段,看看它是如何解决问题的) 在代码中,您需要更改: 1-此

当使用单选按钮来回切换时,表单值会被重置。为什么
$scope.user
会重置并且不会保持持久性

var-app=angular.module(“myApp”,“ui.bootstrap”);
应用程序控制器(
“myCtrl”,
职能($范围){
$scope.radio_test=“0”;
$scope.user=“John Doe”;
}
);

选择:
弗斯特
第二

用户名: 用户名是必需的。 别的
使用语法(运行下面的代码片段,看看它是如何解决问题的)

在代码中,您需要更改:

1-

$scope.radio_test="0";
$scope.user="John Doe";

var vm = this;
vm.radio_test = "0";
vm.user = "John Doe";
2-这是:
ng controller=“myCtrl”
ng controller=“myCtrl as vm”

3-以及在视图(以及在控制器
$scope.anyVar
中)中访问
anyVar
的每个位置
vm.anyVar
(在视图和控制器中)


var-app=angular.module(“myApp”,“ui.bootstrap”);
应用程序控制器(
“myCtrl”,
函数($scope){//不再需要使用$scope
var vm=这个;
vm.radio_test=“0”;
vm.user=“John Doe”;
}
);

选择:
弗斯特
第二

用户名: 用户名是必需的。 别的
将您的ng模型的输入设置为
$parent.user
似乎就是这样做的

var-app=angular.module(“myApp”,“ui.bootstrap”);
应用程序控制器(
“myCtrl”,
职能($范围){
$scope.radio_test=“0”;
$scope.user=“John Doe”;
}
);

选择:
弗斯特
第二

用户名: 用户名是必需的。 别的
谢谢你,这解决了我的问题,但我不知道为什么?通过这种方法,
用户
var(例如)现在通过
vm
var绑定到控制器作用域(控制器作为工厂函数),而不是绑定到(angularjs)
$scope
var,在不使用时,它似乎会丢弃任何变量。然后,当在视图中再次动态创建var时,它正在查找最初声明的
$scope.user
。我100%肯定这个流程,但它似乎是这样工作的。我不熟悉AngularJS的所有内部结构,但我很高兴这对您有所帮助。