ng-bind 在 AngularJs 中的 ng-dialog 上不起作用

ng-bind not working on ng-dialog in AngularJs

本文关键字:不起作用 ng-dialog 中的 AngularJs ng-bind      更新时间:2023-09-26

>我有一个包含以下内容的输入字段

<textarea id="textfield" ng-bind="emojiMessage.rawhtml | colonToCode"></textarea>

如果我从 ng 对话框中删除它,它的效果很好,但是当我把它放在 ng 对话框中时它会失败。请问我可能有什么问题,或者我错过了更好的方法吗?

<script type="text/ng-template" id="firstDialogId">
    <textarea id="textfield" ng-bind="emojiMessage.rawhtml | colonToCode"></textarea>
    </script>
========编辑=======

这是我的控制器

.config(['ngDialogProvider', function (ngDialogProvider) {
            ngDialogProvider.setDefaults({
                className: 'ngdialog-theme-default',
                closeByDocument: false
            });
}])
.controller('DialogCtrl', function ($scope, $rootScope, ngDialog, $timeout) {
            $scope.open = function () {
                ngDialog.open({ template: 'firstDialogId' });
            };
            $rootScope.$on('ngDialog.setPadding', function (event, padding)
            {
                angular.element( document.querySelector('.paddingHeader') ).css('padding-right', padding + 'px');
});
})
====

====此控制器定义 emojiMessage.rawhtml

.controller('emojiController', ['$scope', function($scope) {
$scope.emojiMessage={};

您的表情符号控制器不在对话框范围内。 将 ngDialog 逻辑移动到您的表情符号控制器,并设置范围:$scope。 现在,这应该包括表情符号控制器的范围。

$scope.emojiMessage={};
$scope.open = function () {
                ngDialog.open(
                      { template: 'firstDialogId',
                        scope: $scope
                      }
                );
     };

我在这里添加了一个 plunker 示例:https://plnkr.co/edit/U25PdXhSwXhxqJeQXcM6?p=preview