$compile:nonassign Expression ‘undefined’ in attribute ‘isDisabled’ one attribute is working other not working

I have this main ctrl given below ,
rFileUpload and rFilePreview are directive components. I want to pass my scope variable uploaded and isDisabled in those files – for example given below widgetFileupload.ctrl.js which is rFileUpload
but I get exception Error: [$compile:nonassign] Expression ‘undefined’ in attribute ‘isDisabled’ used with directive ‘rFileUpload’ is non-assignable!
whereas uploaded is working.
Need suggestions.

Main 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;
});

Source: AngularJS