Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 角度表单如何显示已更改的保存按钮文本?_Angularjs_Angularjs Forms - Fatal编程技术网

Angularjs 角度表单如何显示已更改的保存按钮文本?

Angularjs 角度表单如何显示已更改的保存按钮文本?,angularjs,angularjs-forms,Angularjs,Angularjs Forms,我使用angular 1表单显示更改的保存按钮文本。 按钮文本应如下所示: (禁用)保存-初始时 (启用)保存-编辑时或保存后重新编辑 (启用)已保存-单击“保存”按钮 如何使用简单的方法解决此问题 或以下代码 var myApp=angular.module('myApp',[]); myApp.controller('MyCtrl',函数($scope){ $scope.buttonText='save'; $scope.save=函数(myForm){ myForm.$setPris

我使用angular 1表单显示更改的保存按钮文本。 按钮文本应如下所示:

  • (禁用)保存-初始时
  • (启用)保存-编辑时或保存后重新编辑
  • (启用)已保存-单击“保存”按钮
如何使用简单的方法解决此问题

以下代码

var myApp=angular.module('myApp',[]);
myApp.controller('MyCtrl',函数($scope){
$scope.buttonText='save';
$scope.save=函数(myForm){
myForm.$setPristine();
$scope.buttonText='saved';
}             
});

{{buttonext}}

您可以将手表附加到表单模型对象并将文本设置回“保存”吗

旁白,您已经有了它的初始值,并设置为保存时,点击按钮

$scope.$watch("myFormData", function(){
  // text is 'Save'
}, true);
要使下面的工作正常,请将所有表单数据放在一个对象变量中


因此,您可以将ng模型绑定更改为viewmodel,这是一种很好的做法

您可以将手表附加到表单模型对象并将文本设置回“保存”吗

旁白,您已经有了它的初始值,并设置为保存时,点击按钮

$scope.$watch("myFormData", function(){
  // text is 'Save'
}, true);
要使下面的工作正常,请将所有表单数据放在一个对象变量中


因此,您可以将ng模型绑定更改为viewmodel,这是一种很好的做法

将按钮标记更改为:

<button ng-click="save(myForm)" ng-disabled="myForm.$pristine">
 {{myForm.$pristine?buttonText:'save'}}
</button>

{{myForm.$pristine?按钮文本:'save'}

将按钮标记更改为:

<button ng-click="save(myForm)" ng-disabled="myForm.$pristine">
 {{myForm.$pristine?buttonText:'save'}}
</button>

{{myForm.$pristine?按钮文本:'save'}

实际上更好的解决方案,但我仍然建议创建表单viewmodel。实际上更好的解决方案,但我仍然建议创建表单viewmodel。