Angular.bootstrap()和日志记录

时间:2017-10-24 18:45:12

标签: angularjs

感谢您关注此事,

我们最近收购了一个使用角度1.x的项目,我们正在缓慢地对应用程序进行修改。但是,我们注意到在使用wchar_t启动应用程序时,我们无法使用任何日志记录方法。这似乎也影响了窗口对象上的其他功能。但是,使用ng-app指令进行引导时,不存在这样的问题。

可以找到演示此问题的正在运行的代码段here
当我点击其中一个日志按钮时,我希望控制台能够打印hello 1,hello 2和hello 3以及消息输入中的任何内容。我还提供了一个警告框,用于证明问题并不仅限于记录。然而

的index.html

angular.bootstrap()

的script.js

<!doctype html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Example - example-example110-production</title>
    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
    <script src="script.js"></script>
</head>

<body>
    <div ng-controller="LogController">
        <p>Reload this page with open console, enter text and hit the log button...</p>
        <label>Message:
            <input type="text" ng-model="message" />
        </label>
        <button ng-click="alert()">alert</button>
        <button ng-click="$log.log(message)">log</button>
        <button ng-click="$log.warn(message)">warn</button>
        <button ng-click="$log.info(message)">info</button>
        <button ng-click="$log.error(message)">error</button>
        <button ng-click="$log.debug(message)">debug</button>
    </div>
</body>

</html>

1 个答案:

答案 0 :(得分:0)

如果您像设置脚本那样设置脚本,则必须在document.ready中附上引导程序。

   angular.element(document).ready(function() {
  angular.bootstrap(document, ['logExample']);
})

否则,您需要在页面末尾加载脚本。

工作人员:

http://plnkr.co/edit/LZDjnAGMlU3Npoetdg2U?p=preview

请参阅此答案以获取更多详细信息。有多种方法可以做到这一点。

https://stackoverflow.com/a/16539428/6347317