Differences between returning an object vs a function in a directive definition?
angularjs, angularjs-directive, javascript
Solution
Returning only a function in a directive is just a shorthand for the `link` function in the full definition.
If you are specifying something other than a `link` function (like `templateUrl`) then you need to write it the long way:
angular.module("app").
directive("widgetUno", ["$http", function ($http) {
return {
link: function(scope, element, attrs) {
// A whole bunch of crap going on here
},
templateUrl: "widgetUno.html"
};
}]);
This difference is actually documented here - http://docs.angularjs.org/guide/directive
Problem
What is the functional difference between the following code (in Widget Uno) using a directive definition object (I think it's called..?)... ``` angular.module("app"). directive("widgetUno", ["$http", function ($http) { return { // A whole bunch of crap going on here }, templateUrl: "widgetUno.html" }; }]); ``` ...And this code in Widget Dos? ``` angular.module("app").directive('widgetDos', function($http) { return function(scope, element, attrs) { // A whole bunch of crap going on here }; }); ``` I'm trying to convert a directive that's like Widget Uno into Widget Dos, but where do I reference the templateUrl? Is this possible in Widget Dos?