我有一个非常精细的指令,用于构建我的angularjs应用程序。我想打破代码来分离JS文件,然后将它们包含在1个JS指令文件中。例如,我没有将所有代码放在一个js文件中,而是:
myapp-directive-http-request.js
myapp-directive-init.js
myapp-directive-event.js
myapp-directive-function.js
然后myapp-directive.js将链接到上述所有文件。
我在PHP中看到与include(" FILEPATH")类似的功能,或者在angularjs html视图中查看ng-include。是否可以在指令部分执行此javascript或angularjs?
我的指令代码如下:
angular.module("myApp", [])
.directive("myApp",['$http', function($http){
return{
link: function(scope,element,attrs){ // normal variables rather than actual $scope, that is the scope data is passed into scope
//all functions, init etc code is here
},//return
restrict:"A", //assign as attribute only ie <div my-modal> Content </div>
replace:true,//replaces div with element, note if this is the case must all template must be wrapped within one root element. eg button is within ul otherwise get an error.
templateUrl:"partials/myapp/myapp.html",//template
transclude:true, //incorporate additional data within
scope:{
} //If on this should mean the html input is not binded to custom directive
}//return
}])
答案 0 :(得分:0)
使用您选择的任何构建系统。 Webpack,RequireJS,Browserify,JSPM - 所有这些都能胜任。 require('...')
函数(在JSPM的情况下为ES2015-fashioned System.import
)将完成工作。
在这种情况下,不建议异步加载模块(而不是构建软件包),因为指令编译过程不会等待它们被加载。
myapp-directive-http-request.js
myapp-directive-init.js
myapp-directive-event.js
myapp-directive-function.js
看起来不是一个很好的分手。胖指令或控制器通常是设计不良的指标。通常,您可能希望将与DOM或范围无关的所有内容与服务分开,并保持指令不变。从一个指令制定一些指令也可能是有益的。