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
}]);
̶}̶)̶;̶