3

非常感謝您提供任何幫助,我知道這可能是一個簡單的問題,但我一直在研究它,並且無法弄清楚我做錯了什麼。Yeoman Mean.js生成自定義AngularJS指令不起作用

上下文信息
我試圖實施AngularJS一個簡單的自定義指令。我的網頁是使用Mean.js樣板構建的。要爲我的用戶模塊自定義指令,我通過執行這個命令使用的約曼發電機,

yo meanjs:angular-directive compareTo 

然後我指定我想在我的用戶模塊的指令的地方。這將生成一個帶有自定義指令示例的指令目錄。這是我的文件夾結構。 http://imgur.com/SZvG706 (我不能發表圖片呢,抱歉)

的問題
我的理解是,這可能應該創建一個文本的H1屬性「這是的compareTo指令」,並打印控制檯消息,但我什麼都看不到,並在控制檯中收到任何錯誤。

代碼
以下是生成的compare-to指令文件。我改變的唯一的事情是在模板中將div分配給h1,並添加了控制檯hi消息。

'use strict'; 

angular.module('users').directive('compareTo', [ 
    function() { 
     return { 
      template: '<h1></h1>', 
      restrict: 'E', 
      link: function postLink(scope, element, attrs) { 
       // Compare to directive logic 
       // ... 
       console.log('hi'); 
       element.text('this is the compareTo directive'); 
      } 
     }; 
    } 
]); 

這是我的signup.client.view.html文件,我試圖用compare-to html標籤實現指令。

<section class="row" data-ng-controller="AuthenticationController"> 
    <h3 class="col-md-12 text-center">Sign up with you email</h3> 
    <compare-to></compare-to> 
    <div class="col-xs-offset-2 col-xs-8 col-md-offset-4 col-md-4"> 
     <form name="userForm" data-ng-submit="signup()" class="signin form-horizontal" novalidate autocomplete="off"> 
      <fieldset> 
       <div class="form-group"> 
        <label for="firstName">First Name</label> 
        <input type="text" required id="firstName" name="firstName" class="form-control" data-ng-model="credentials.firstName" placeholder="First Name"> 
       </div> 
       <div class="form-group"> 
        <label for="lastName">Last Name</label> 
        <input type="text" id="lastName" name="lastName" class="form-control" data-ng-model="credentials.lastName" placeholder="Last Name"> 
       </div> 
       <div class="form-group"> 
        <label for="organization">Organization Name</label> 
        <input type="text" id="organization" name="organization" class="form-control" data-ng-model="credentials.organization" placeholder="Organization Name"> 
       </div> 
       <div class="form-group"> 
        <label for="position">Position Title</label> 
        <input type="text" id="position" name="position" class="form-control" data-ng-model="credentials.position" placeholder="Position within organization"> 
       </div> 
       <div class="form-group"> 
        <label for="email">Email</label> 
        <input type="email" id="email" name="email" class="form-control" data-ng-model="credentials.email" placeholder="Email"> 
       </div> 
       <div class="form-group"> 
        <label for="username">Username</label> 
        <input type="text" id="username" name="username" class="form-control" data-ng-model="credentials.username" placeholder="Username"> 
       </div> 
       <div class="form-group"> 
        <label for="password">Password</label> 
        <input type="password" id="password" name="password" class="form-control" data-ng-model="credentials.password" placeholder="Password"> 
       </div> 
       <div class="form-group"> 
        <label for="confirmPassword">Confirm Password</label> 
        <input type="password" id="confirmPassword" name="confirmPassword" class="form-control" data-ng-model="confirmPassword" compare-to="credentials.password" placeholder="Confirm Password"> 
       </div> 
       <div class="text-center form-group"> 
        <button type="submit" class="btn btn-large btn-primary">Sign up</button>&nbsp; or&nbsp; 
        <a href="/#!/signin" class="show-signup">Sign in</a> 
       </div> 
       <div data-ng-show="error" class="text-center text-danger"> 
        <strong data-ng-bind="error"></strong> 
       </div> 
      </fieldset> 
     </form> 
    </div> 
</section> 

再次感謝!

+0

我對yeoman平均js生成器並不熟悉,但聽起來好像指令腳本的比較可能不包含在您的項目中。這個生成器是否會編譯你的整個應用或者使用像AMD這樣的東西? – micahblu

+0

我只是重複你所做的,但沒有你遇到的問題。對我來說,文本顯示和日誌打印... – dejvuth

回答

2

所以這個問題真的很愚蠢。我所做的所有修復操作都是關閉Node服務器實例並重新運行,我假定我不需要這樣做,因爲每次進行更改時,mean.js都會自動重新編譯。但我想有時候你需要重新啓動它。