我第一次使用Camunda(v7.3.0),使用角度1.2.16。我遇到了一个问题,即在加载模块时主应用程序模块配置没有触发。例如:
angular.module('app', []).config(function () {
console.log("inside app config");
})
加载Camunda表单时,不会触发上述模块配置功能。 index.html的示例
<html>
<script src="/my-warfile-process-0.0.1-SNAPSHOT/forms/app.module.js"></script>
<script src="/my-warfile-process-0.0.1-SNAPSHOT/forms/main.controller.js"></script>
<body>
<form ng-app="app" role="form" name="MyCamProcess">
</form>
</body>
当加载表单时,app模块似乎只是部分自举,如果这样做的话。 angular.module('app')在Chrome控制台中运行该命令时确实存在,但仍未触发应用配置。
我遇到的其他问题是,1)我只将控制器定义为单独的函数ex。
(function () {
angular.module('app').controller("myController", MyController);
var MyController = function ($scope) {
/**
* do controller stuff
*/
};
})();
不确定这是否是角1.2.16的事情,我之前没有使用过这个版本。 2)我不能将服务或工厂注入控制器ex blow
(function () {
angular.module('app').controller("myController", MyController);
angular.module('app').factory("myFactory", MyFactory);
var MyController = function ($scope, MyFactory) {
/**
* do controller stuff
*/
};
var MyFactory = function () {
/**
* do factory stuff
*/
};
})();
上面给出的错误会引发注入控制器的依赖性错误。
另一个是camForm对象,似乎唯一的访问方法是在form标签中嵌入一个脚本标签,然后手动将对象扔到windows对象ex上。
<form ng-app="app" role="form" name="MyCamProcess">
<script cam-script type="text/form-script">
//add to window object
window.camForm = camForm;
//inject manually
inject(function () {
MyController(camForm);
})
</script>
</form>
不确定注入方法是否有效,但确实如此。对此有任何帮助将是最有帮助的:)
更新:
所以,我注意到控制器和服务/工厂正被添加到invokedQueue中,但实际上没有被调用:
如果您在上图中注意到,invokeQueue有4个元素,3个是控制器,1个是服务。如果你看一下控制器阵列的长度是0.不确定为什么会发生这种情况.......