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 ngRoute怎么在路由傳遞空字符串及用ng-switch取得2. angular.js - angular如何在點擊元素附近生成一個彈框,類似worktile點擊彈出下拉框3. angular.js - angularjs ng-repeat 不能刷新4. angular.js - angular獲取radio選項的值,在線等啊親,連續加班一個禮拜了……5. angular.js - angularjs模塊加載6. angular.js - angular2中異步ngfor渲染數據的bug?7. angular.js - AngularJs ng-repeat指令 如何取Json對象渲染到前端模板?8. angular.js - angularjs在兩個controller之間傳值,使用factory,為何不成功?9. angular.js - angular指令沒用10. angular.js - angularjs中 選中checkbox其上一級加入一個classname,取消選中去掉classname
