gpt4 book ai didi

javascript - Angular 模式形式模态.... $scope 的问题

转载 作者:数据小太阳 更新时间:2023-10-29 05:37:17 25 4
gpt4 key购买 nike

Plunker

此插件允许您编辑网格中的行。我创建了一个基于 RowEditCtrl 的新方法来插入新行,但在验证时遇到了问题。

当我插入一个新行时,表格是“原始且有效的”。在插入方法中,我需要调用 $scope.$broadcast('schemaFormValidate') 来验证表单,而 form.$valid 将为 false。理想情况下,我想在保存按钮上从 ng-show 调用此检查,以便在表单正常之前按钮不会出现。

问题是,我不明白或不知道如何在这个 RowEditCtrl 方法中获取模式表单 $scope 并且无法获取之前无效的表单用户输入了任何内容。

function RowEditCtrl($modalInstance, PersonSchema, grid, row) {
var vm = this;

vm.schema = PersonSchema;
vm.entity = angular.copy(row.entity);
vm.form = [
'name',
'company',
'phone',
{
'key': 'address.city',
'title': 'City'
},
];

vm.save = save;

function save() {
// Copy row values over
row.entity = angular.extend(row.entity, vm.entity);
$modalInstance.close(row.entity);
}
}

最佳答案

我能够通过将 $scope 传递到 editRow 中访问 RowEditCtrl 中的 $scope >$modal.open Controller 。在这里查看我对原始 plunkr 的分支:http://next.plnkr.co/edit/NiwF12BLJQyD6Cku

以下是相关更改:

function editRow(grid, row) {
$modal.open({
templateUrl: 'edit-modal.html',
controller: ['$scope',

...

function RowEditCtrl($scope, 

...

function save() {
console.log($scope.$broadcast('schemaFormValidate'));

当我在模态的 save 函数中执行 $scope.$broadcast('schemaFormValidate')console.log 时,它似乎正在工作。或者,至少定义了 $scope 并且可以调用 $broadcast。如果这不能很好地解决问题,我深表歉意,我对 schemaFormValidate 不熟悉。

关于javascript - Angular 模式形式模态.... $scope 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52530909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com