简单的AngularJS应用程序不工作.如何调试它

Simple AngularJS App won´t work. How to debug this?

本文关键字:调试 何调试 AngularJS 应用程序 工作 简单      更新时间:2023-09-26

我试图用angularjs来改进我们巨大的js (jquery)遗产。现在我的第一个问题,从简化的代码开始:

angularApp.js:

angular.module('ngSomeApp', [])
    // changed interpolate provider to avoid smarty cancer
    .config(['$interpolateProvider', function ($interpolateProvider) {
        $interpolateProvider.startSymbol('[[');
        $interpolateProvider.endSymbol(']]');
    }])
    // getting party started
    .controller('ngSomeController', ['$scope', '$http', function($scope, $http) {
        $scope.test = 'Hello World';
        console.log($scope.test);
    }]); // module closed
DOM:

<html>
    <head>
        // loading angular.min.js (1.4.6)
        // loading angularApp.js
    </head>
    <body>
        <div ng-app="ngSomeApp">
            [[2+2]]
            <div ng-controller="ngSomeController">
                [[2+2]]
                [[test]]
            </div>
        </div>
    </body>

我的问题是:

  • [[2+2]]和[[test]]不渲染
  • 控制台没有错误(也没有"Hello World")
  • {literal}{{2+2}}{/literal}(我们使用smarty)和未修改的插值提供程序也不起作用
  • 如果i console.log(angular.module('ngSomeApp'));在angularApp.js的最后:

    对象{_configBlocks: Array[0], _runBlocks: Array[0], require: Array[0], name: "ngSomeApp", requiresOriginal: undefined}

代码是如此简单,我没有看到问题。你知道吗?你看到我的代码有什么问题吗?

您的代码适用于1.2.23,甚至1.4.2

注意:我没有改变任何东西,除了创建代码片段。

angular.module('ngSomeApp', [])
// changed interpolate provider to avoid smarty cancer
.config(['$interpolateProvider',
  function($interpolateProvider) {
    $interpolateProvider.startSymbol('[[');
    $interpolateProvider.endSymbol(']]');
  }
])
// getting party started
.controller('ngSomeController', ['$scope', '$http',
  function($scope, $http) {
    $scope.test = 'Hello World';
    console.log($scope.test);
  }
]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular.min.js"></script>
<div ng-app="ngSomeApp">
  [[2+2]]
  <div ng-controller="ngSomeController">
    [[2+2]] [[test]]
  </div>
</div>