Javascript 角度指令-单击“保存”按钮时,如何在控制器中触发保存方法
我使用TinyMce angular指令在angularjs应用程序中启用富文本编辑。 该指令按预期工作。但是我想集成save插件,它允许我们调用定制的save函数。 我试图通过以下init选项将angular控制器中的函数作为回调函数传递 save_onsavecallback:function(){console.log('Saved');} 示例代码如下(假设我在应用程序前面定义了一个非常大的init对象,其中包含save插件) 不确定是否可以在回调函数中调用$scope.submit()。。(我试过了,它不起作用,而且回调根本没有触发) 我没有看到控制台中记录的任何错误。发现2个问题:Javascript 角度指令-单击“保存”按钮时,如何在控制器中触发保存方法,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我使用TinyMce angular指令在angularjs应用程序中启用富文本编辑。 该指令按预期工作。但是我想集成save插件,它允许我们调用定制的save函数。 我试图通过以下init选项将angular控制器中的函数作为回调函数传递 save_onsavecallback:function(){console.log('Saved');} 示例代码如下(假设我在应用程序前面定义了一个非常大的init对象,其中包含save插件) 不确定是否可以在回调函数中调用$scope.submit
- 我必须在默认选项中添加config
save\u enablewhendirty:false,
- 我将
更改为data ng controller=“testController as tc”
,因为您没有在应用程序中使用data ng controller=“testController”
controllera
- 我必须在默认选项中添加config
save\u enablewhendirty:false,
- 我将
更改为data ng controller=“testController as tc”
,因为您没有在应用程序中使用data ng controller=“testController”
controllera
一个工作示例:当您刚刚拥有
console.log('Saved')代码>-成功了吗?没有。事件根本没有触发。这是一个plnkr示例。我添加了我的答案-如果它在您刚刚拥有console.log('Saved')时对您有效,请接受它代码>-成功了吗?没有。事件根本没有触发。这是一个plnkr示例。我添加了我的答案-如果它对您有效,请接受它。当设置为false时,Save_enablewhendirty将起作用。我不知道这是真的为什么不起作用。那是虫子吗?还是预期的结果?谢谢,我一直想让“保存”按钮工作,这样我就可以在微型MCE中更改正在进行的内容更改。非常感谢。我想这是因为tiny mce
的指令没有将字段设置为“dirty”。也许您需要创建一个
,或者手动将字段设置为dirty(),谢谢您的解释。我的实际应用程序中已经有一个表单标签。看起来像是个bug。@DavidChelliah我想你是对的-这些是内容更改后textarea上的类:ng未触及ng有效ng不为空ng脏ng有效解析。不动产看起来是不对的。我已更新了我的初始问题日志。设置为false works时,保存启用WhenDirty。我不知道这是真的为什么不起作用。那是虫子吗?还是预期的结果?谢谢,我一直想让“保存”按钮工作,这样我就可以在微型MCE中更改正在进行的内容更改。非常感谢。我想这是因为tiny mce
的指令没有将字段设置为“dirty”。也许您需要创建一个
,或者手动将字段设置为dirty(),谢谢您的解释。我的实际应用程序中已经有一个表单标签。看起来像是个bug。@DavidChelliah我想你是对的-这些是内容更改后textarea上的类:ng未触及ng有效ng不为空ng脏ng有效解析。不动产看起来是不对的。我已更新了我的初始问题日志。
angular.module("app").controller('editpageContentController', ['$scope', 'pagesDataService', '$routeParams', 'toaster', 'tinymceGlobalOptions',
function ($scope, pagesDataService, $routeParams, toaster, tinymceGlobalOptions) {
tinymceGlobalOptions.save_onsavecallback = function () { $scope.submit(); }
$scope.tinymceOptions = tinymceGlobalOptions;
$scope.pgContent = {
pagePropertiesId: $routeParams.id,
pageTitle: "",
pageContent: ""
}
pagesDataService.getPageContent($scope.pgContent.pagePropertiesId).then(function (data) {
$scope.pgContent = data;
}, function (error) {
toaster.pop('error', "Page load failed", error);
});
$scope.submit = function () {
if ($scope.frmEditPageContent.$valid) {
pagesDataService.savePageContent($scope.pgContent).then(function (data) {
if (data)
toaster.pop('success', "Sucess", "Page saved successfully.");
}, function (error) {
toaster.pop('error', "Failure", error);
});
}
}
}
]);