我正在尝试使用带有AngularJS的requireJS创建自定义指令。
以下是我要遵循的高级步骤。
以下是以下片段:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.1/angular.min.js"></script>
define(["angular", "components/trade/trade_controller"], function (angular, TradeController) {
"use strict";
var app = angular.module("csApp.trade.csTradeType", [""]);
needed for logging wrapped around it.
app.directive("csTradeType", function () {
return {
restrict: "E",
templateUrl: "components/trade/_trade_type.html",
controller: TradeController,
controllerAs: "tradeController"
};
});
});
&#13;
如果这是正确的方式或者指导我更好的方式,请你建议我。
谢谢。
答案 0 :(得分:0)
是的,这是创建指令的正确方法。但是,我将在下面添加与您的问题相关的评论:
每个指令必须在模块中注册。你在上面调用directive() 模块传递指令的规范名称和工厂函数 返回指令定义。
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.5/angular.min.js"></script>
angular.module('app', []).directive('myDir', function() {
return myDirectiveDefinition;
});
&#13;
可以向工厂函数注入指令使用的服务。
指令定义是一个对象,其字段告诉编译器指令的作用。一些字段是声明性的(例如,replace:true,它告诉编译器用模板中的内容替换原始元素)。某些字段是必需的(例如,link:function(...),它为编译器提供链接功能。