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的所有内部结构,但我很高兴这对您有所帮助。