ng-bind不能在AngularJs中使用ng-dialog

时间:2016-03-14 12:49:12

标签: javascript angularjs

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

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

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

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

======= EDITTED ======== 这是我的控制器

.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={};

1 个答案:

答案 0 :(得分:0)

您的emojiController不在对话框的范围内。将ngDialog逻辑移动到emojiController,并设置范围:$ scope。现在应该包括emojiController的范围。

$scope.emojiMessage={};

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

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