我有一个主模块正在创建名为'FormTest'的angular.module。在FormTest模块内部,我有一个名为'ji-Text'的指令。我有延迟加载将指令和视图加载到.js文件(不那么重要)。问题是在我的指令中,“app”无法识别。但我不确定为什么,因为它在同一个模块“FormTest”中。我得到的错误是TS2304“无法找到名称'app'。
指令
module FormTest {
app.directive('jiText', function () {
return {
restrict: 'E',
transclude: true,
scope: { name: '@' },
templateUrl: 'FormText/views/ji-Text.html'
}
});
}
主要模块
module FormTest {
"use strict";
//Create the formTest module
var app = angular.module('FormTest', ['dx'])
app.config(confirm);
}
延迟加载
.state('FormTest', <ng.ui.IState> {
url: '/formTest',
templateUrl: 'FormTest/FormTest.html',
loadCtl: ['$ocLazyLoad', function ($ocLazyLoad) {
return $ocLazyLoad.load('js/FormTest.js');
}]
})
答案 0 :(得分:0)
您无法以这种方式访问模块!您必须使用angular.module
在上下文中获取它。并且,strict mode
将阻止您使用任何未使用的未声明变量。只需改为:
module FormTest {
angular
.module('FormTest') //Gets the FormTest Module
.directive('jiText', function () {
return {
restrict: 'E',
transclude: true,
scope: { name: '@' },
templateUrl: 'FormText/views/ji-Text.html'
}
});
}