javascript - AngularJS + Coffeescript - 'Hello World' directive not working - Stack Overflow

I can't make the simplest of directives work in my AngularJS + Coffeescript project.I have this co

I can't make the simplest of directives work in my AngularJS + Coffeescript project.

I have this code in directives.coffee:

'use strict'
app_name = "myApp"
app = angular.module "#{app_name}.directives", []

# Directive to include the version number of my project
app.directive 'appVersion', [
'version', (version) ->
    (scope, element, attrs) ->
    element.text version
]

# Hello world directive
app.directive 'hello', () ->
    restict: 'E'
    template: '<div>Hello World</div>'

And in my template, when I do

<span app-version></span>
<hello></hello>

then the version number appears (0.1), showing that the first directive works properly, but the tag does not get replaced by anything.

Any idea what I did wrong?

I also tried this, which didn't work either:

# Hello world directive
app.directive 'hello', ->
    class Habit
        constructor: ->
            restict: 'E'
            template: '<div>Hello World</div>'

I can't make the simplest of directives work in my AngularJS + Coffeescript project.

I have this code in directives.coffee:

'use strict'
app_name = "myApp"
app = angular.module "#{app_name}.directives", []

# Directive to include the version number of my project
app.directive 'appVersion', [
'version', (version) ->
    (scope, element, attrs) ->
    element.text version
]

# Hello world directive
app.directive 'hello', () ->
    restict: 'E'
    template: '<div>Hello World</div>'

And in my template, when I do

<span app-version></span>
<hello></hello>

then the version number appears (0.1), showing that the first directive works properly, but the tag does not get replaced by anything.

Any idea what I did wrong?

I also tried this, which didn't work either:

# Hello world directive
app.directive 'hello', ->
    class Habit
        constructor: ->
            restict: 'E'
            template: '<div>Hello World</div>'
Share Improve this question asked Nov 15, 2013 at 19:28 mascipmascip 1,3671 gold badge14 silver badges16 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 7

You can also write your Angular Directive in CoffeeScript like this which I think is cleaner:

class MyDirective
    constructor: (myService) ->
        // Constructor stuff
        @controller = MyController
        @controllerAs = 'ctrl'
    restrict: 'E'
    replace: true
    scope:
        attributeStuff: '='
    link: (scope, element, attr) ->

angular.module('my_module').directive 'MyDirective', (myService) ->
    new MyDirective(myService)

You have a typo:

restict: 'E'

should be

restrict: 'E'

Working code: http://plnkr.co/edit/8TifpS2EmYPLo4wl7YtK?p=preview

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745198981a4616231.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信