$ compile: nonassign Выражение «не определено» в атрибуте «isDisabled»: один атрибут работает, другой не работает - PullRequest
0 голосов
/ 01 марта 2019

У меня есть этот главный ctrl, приведенный ниже, rFileUpload и rFilePreview являются компонентами директивы.Я хочу передать мои scope переменные uploaded и isDisabled в эти файлы - например, приведенный ниже widgetFileupload.ctrl.js, который равен rFileUpload, но я получаю исключение Ошибка: [$ compile: nonassign] Выражение 'undefined' в атрибуте«isDisabled», используемый с директивой «rFileUpload», не может быть назначен!тогда как uploaded работает.Нужны предложения.

Главный Ctrl:

'use strict';
    define(['angular',
      'controllers-module',
      'vruntime',
      'rFileUpload',
      'rFilePreview'
    ], function (angular, controllers) {
      controllers.controller("mainCtrl",
        ["$scope", "directiveBinder", "$stateParams", "$controller", "$state",
          function ($scope, directiveBinder, $stateParams, $controller, $state) {
            angular.extend(this, $controller('BaseCtrl', {$scope: $scope}));
           $scope.uploaded = false;
            $scope.isDisabled = false;
          }])};

widgetFileupload.ctrl.js

define(['vruntime',
    'directives-module',
    'jquery.form',
    'rpSpinner',
    'text!directives/widget.upload.html',

  ],
  function (vRuntime, directives, form, spinner, template) {
    var $q;
    var rpDealerFileUpload = vRuntime.widget.BaseDirective.extend({
      restrict: 'E',
      replace: false,
      transclude: true,
      template: template,
      scope: {
        result: '=',
        isDisabled: '=',
        uploaded: '='
      },
      compile: function (element, attributes) {
        return {
          post: function (scope, elem) {
            var $form = angular.element('form', elem);
            $form.on('drag dragstart dragend dragover dragenter dragleave drop', function (e) {
              e.preventDefault();
              e.stopPropagation();
            })
              .on('dragover dragenter', function () {
                $form.addClass('upload-dragover');
              })
              .on('dragleave dragend drop', function () {
                $form.removeClass('upload-dragover');
              })
              .on('drop', function (e) {
                var elem = e.originalEvent.dataTransfer;
                scope.fileNameChanged(elem);
                scope.$apply(function () {
                  scope.errorMessage = null;
                });
              });
            scope.$on('$destroy', function () {
              $form.unbind();
            });
          }
        }
      },

      controller: function ($controller, $scope,$stateParams, $state) {     
        $scope.uploaded = false;
        $scope.isDisabled = false;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...