javascript - 我可以将外部 javascript 文件链接到 AngularJS Controller 吗?

标签 javascript angularjs

这可能是个愚蠢的问题。我知道 AngularJS Controller 使用 javascript 代码将应用程序逻辑保持在 View 之外。但我想知道是否可以将外部 javascript 文件链接到 Controller ,这样它就不必那么长。

如果可能的话,您是否也可以分享我将如何执行此操作的语法。像这样的东西:

app.controller('demoCtrl', ['$scope', function ($scope) {
    $scope.msgtxt='Hello World';
    src=somejavascriptfile.js;
}]);

最佳答案

如果您的问题是 Controller 逻辑太长,那么您认为这是一种代码味道是正确的。你想让 Controller 尽可能薄,只需要足够的逻辑来处理 View 事件和更新模型(范围)。如果你想重构你的 Controller 代码,第一步是将逻辑提取到服务中(用 Angular 术语提供者/工厂/服务)。然后可以将这些服务注入(inject)到您的 Controller 中,类似于注入(inject) $scope 服务的方式。

阅读this sitepoint article有关如何执行此操作的详细信息。

下一步可能是寻找可以提取到指令中的逻辑(主要是 UI 相关的)。

如果您需要在 Angular 应用程序中使用外部 javascript 库,最佳方法是将该脚本添加到 html 文件的脚本部分,并将功能包装在服务或指令中(如果它是 UI有关的)。确保检查是否有可用于要引入的第 3 方库的 Angular 模块。

关于javascript - 我可以将外部 javascript 文件链接到 AngularJS Controller 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28775810/

相关文章:

javascript - Chrome 和 Safari 中的错误,向下滚动时向导航添加粘性固定类会使其滚动到顶部

javascript - 为什么这个 ajax 调用不能在这个简单的 JavaScript 对象文字 ajax 框架中工作

javascript - 将多个路由指向同一个组件

javascript - 如何在JavaScript中正确转义JavaScript?

javascript - angularjs ui-grid 将列高度更改为自动会导致奇怪的行显示在其他列上

javascript - AngularJS - 为什么需要模块依赖?

javascript - NPM peer dependencies 需要 3 个不同版本的 webpack

javascript - 如何在 Controller 中手动注入(inject)路由解析数据?

angularjs - Angular UI Grid - 设置列菜单样式/应用模板

javascript - 如何使用 ngflow Angular JS 进行单次和多次上传