angular.js - angular,公共的代码你们是放在哪里的
问题描述
我最开始是放在rootScope,发现这是全局属性,就放弃了又不想在每个需要用到的controller里面都写一遍,之后我选择放入指令directive里面的controller里面,之后,我又发现,directive是依赖HTML的,如果方法一样,但是我HTML不一样,指令就没办法用来了。说得有点乱,我的意思是:我的一个方法所有的地方都可能用得到,我需要放在哪里?以后用得上的时候直接调用方法。比如:把它作为公共的代码,应该怎么写
问题解答
回答1:最好用service或者factory
// use factoryangular.module(’YourAppName’) .factory(’YourFuncName’, function() {return function() { // your function code here} }); // use serviceangualr.module(’YourAppName’) .service(’myUtils’,function() {this.yourFuncName = function() { // your function code here} })
对于截图中的情况
angular.module(’YourAppName’) .factory(’YourFuncName’, function() {return function($scope) { return function(modal) {// Use $scope Here }} }); // 使用时somthing.then(yourFuncName($scope))
相关文章:
1. angular.js - angularjs中的$compile怎么理解?2. angular.js - angular js点击按钮隐藏选中元素3. angular.js - angularJs 在谷歌浏览器上面 输入框输入中文不能响应,但英文和字母可以,其他浏览器不存在这个问题4. angular.js - angularjs ng-class指令改变ng-click点击的class属性失效5. angular.js - angularJs ngRoute怎么在路由传递空字符串及用ng-switch取得6. angular.js - angular如何在点击元素附近生成一个弹框,类似worktile点击弹出下拉框7. angular.js - angular-ueditor使用中,插入图片,加载完成后不更新angularmodel的问题;8. angular.js - AngularJs ng-repeat指令 如何取Json对象渲染到前端模板?9. angular.js - angularjs ng-repeat 不能刷新10. angular.js - AngularJS如何添加的DOM元素且能绑定事件
