Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Sitefinity编辑器立即自动关闭_Javascript_Angularjs_Sitefinity - Fatal编程技术网

Javascript Sitefinity编辑器立即自动关闭

Javascript Sitefinity编辑器立即自动关闭,javascript,angularjs,sitefinity,Javascript,Angularjs,Sitefinity,我已经将自己创建的角度模块添加到我构建的小部件中 当我单击编辑此模块时,它会立即关闭。没有控制台错误或警告,日志中没有说明原因。它只是开始看起来像是在加载(灰色背景,加载条),然后立即关闭自己,就像什么都没发生一样 我模仿得很好。我的模块增强图像字段.js文件的内容是: (function ($) { var sfFields = angular.module('sfFields'); sfFields.requires.push('EnhancedImageField'); /

我已经将自己创建的角度模块添加到我构建的小部件中

当我单击编辑此模块时,它会立即关闭。没有控制台错误或警告,日志中没有说明原因。它只是开始看起来像是在加载(灰色背景,加载条),然后立即关闭自己,就像什么都没发生一样

我模仿得很好。我的模块
增强图像字段.js
文件的内容是:

(function ($) {
    var sfFields = angular.module('sfFields');
    sfFields.requires.push('EnhancedImageField'); //<- will break on this line in debugger as expected...
    angular.module('EnhancedImageField', ['sfServices', 'sfImageSelector'])
        .directive('EnhancedImageField', ['serverContext', 'sfMediaService', 'sfMediaFilter', function (serverContext, sfMediaService, sfMediaFilter) {
        //... but code inside here never gets called
    }]);
});
如果我删除
sfFields.requires.push('EnhancedImageField')行,编辑器保持打开状态,尽管这里没有封装的任何字段或功能

我的
designerview simple.js
文件可以完成所有
requires
调用,但它从不调用任何内部代码:

(function ($) {
     var simpleViewModule = angular.module('simpleViewModule', ['expander', 'designer', 'ngSanitize']);
     angular.module('designer').requires.push('simpleViewModule');
     angular.module('designer').requires.push('sfFields');
     angular.module('designer').requires.push('sfSelectors');
     angular.module('designer').requires.push('ngSanitize');

     simpleViewModule.controller('SimpleCtrl', ['$scope', 'propertyService', function ($scope, propertyService) {
        $scope.feedback.showLoadingIndicator = true;

        propertyService.get()
        .then(
            function (data) {
                //... Code here never gets called!
            }
        )
    }]);
});

我对angularjs不太熟悉,但这里没有什么让我感到惊讶。

EnhancedImageField
应该是
EnhancedImageField
,显然驼色框非常重要

行为没有改变。包装功能也存在于Sitefinity中包含的每个其他角度模块的代码中。看起来这是一个“俄罗斯玩偶”问题。修复一个问题,抬起娃娃,另一个问题就会显现出来。
̶(̶f̶u̶n̶c̶t̶i̶o̶n̶ ̶(̶$̶)̶ ̶{̶
    var sfFields = angular.module('sfFields');
    sfFields.requires.push('EnhancedImageField');
    angular.module('EnhancedImageField', ['sfServices', 'sfImageSelector'])
        .directive('EnhancedImageField', ['serverContext', 'sfMediaService', 'sfMediaFilter', function (serverContext, sfMediaService, sfMediaFilter) {
        //... a bunch of code that never gets called
    }]);
̶}̶)̶;̶
̶(̶f̶u̶n̶c̶t̶i̶o̶n̶ ̶(̶$̶)̶ ̶{̶
    var sfFields = angular.module('sfFields');
    sfFields.requires.push('EnhancedImageField');
    angular.module('EnhancedImageField', ['sfServices', 'sfImageSelector'])
        .directive('EnhancedImageField', ['serverContext', 'sfMediaService', 'sfMediaFilter', function (serverContext, sfMediaService, sfMediaFilter) {
        //... a bunch of code that never gets called
    }]);
̶}̶)̶;̶