不知道为什么这次不起作用。以前每次工作的地方都会产生这样的问题......
这里我喜欢 app.js
python pip install packagename
查看文件 index.html
var testApp= angular.module('test',[]);
testApp.controller('testCtrl',function($scope){
$scope.testValue='testttttttttt';
})
它工作很好 ..
但当我单独制作控制器文件并在视图中调用它时
<div ng-app="test" ng-controller="testCtrl">
{{testValue}}
</div>
它返回非功能,未定义 ...
但如果在 app.js 我转换
<div ng-app="test" ng-controller="testCtrl">
{{testValue}}
</div>
<script src="testCtrl.js"></script>
到
var testApp= angular.module('test',[]);
它再次起作用..
这里,主要问题是什么?像这样,我无法通过任何依赖..任何建议请...
答案 0 :(得分:3)
您正在声明并重新声明模块的全局变量。这个全局变量可能会被提升或者其他一些javascript执行巫术会使你的代码以不可预测的方式运行。为了防止这种情况,只需使用angular的内置模块getter
调用,而不是在全局命名空间中声明它。
像这样:
App.js
angular.module('testApp', [
// dependencies here'
]);
TestCtrl.js
angular.module('testApp')
.controller(function($scope) {
$scope.testValue = "value";
});
同样,这里的重要区别是angular.module('testApp', [])
与第二个参数(依赖列表)创建一个新模块,覆盖之前的testApp
。另一方面,angular.module('testApp')
在没有第二个参数的情况下调用检索模块,以便您可以向其添加更多指令/ controllers / config / constants。
另外,你应该放弃独立控制器,因为它们不再被认为是最佳实践。指令/组件路由现在更多 in vogue 。
有关当前角度最佳实践的简要概述,请查看John Papa的https://github.com/johnpapa/angular-styleguide/blob/master/a1/README.md
答案 1 :(得分:0)
加载app.js文件后放置控制器文件。
所以app.js的内容将是,
var testApp= angular.module('test',[]);
Controller.js将是,
angular.module('test').controller('testCtrl',function($scope){
$scope.testValue='testttttttttt';
})
在index.html中,订单将是,
<script src="app.js"></script>
<script src="testCtrl.js"></script>
<强> DEMO 强>