在jQuery函数中包装Angular应用程序

Wrap Angular App in a jQuery function

本文关键字:Angular 应用程序 包装 jQuery 函数      更新时间:2023-09-26

我正在为基于jQuery的系统编写AngularJS应用程序。每个应用程序都需要使用以下代码启动。

我该如何使用我的AngularJS代码?

我曾尝试将我的整个Angular应用程序包含在函数appStart()中,但这不起作用。关于如何解决这个问题有什么想法吗?

Init JS:

(function () {
    function appStart() {
}
function genericError() {
    console.error('Something went wrong');
}
TT.native.init()
.done(appStart)
.fail(genericError);
})();

我的AngularJS应用程序:

var app = angular.module('myApp', ['ui.sortable', 'ui.router']);
app.config(function ($stateProvider, $urlRouterProvider) {
    $urlRouterProvider.otherwise('/specs');
    $stateProvider
    .state('specs', {
        url: '/specs',
        templateUrl: 'specs.html',
        controller: 'SpecsController'
    })
    .state('editSp...

我使用它已经很长时间了,但这应该可以工作。这是Angular的手动引导程序,所以在索引文件中没有ng应用程序。

(function () {
    $(document).ready(function () {
        if (TT) {
            TT.native.init().done(function () {
                angular.bootstrap(document, ['myTickTailApp']);
            }).fail(function () {
                // Error handling if TickTail fails to init ...
            });
        } else {
            throw new Error('Cannot start app, tt.js not loaded');
        }
    });
})();

如果您想手动启动角度,可以调用angular.bootstrap(document, ['app']);。您必须删除ng-app-指令才能使其工作。

https://docs.angularjs.org/guide/bootstrap