2015-02-24 108 views
0

我已經創建了自定義過濾器。然而,當我在我的HTML調用這個過濾器,我得到的錯誤未知提供商:fixUrlFilterProvider < - fixUrlFilter角度:未知供應商

濾膜代碼:

angular.module('TestDemo') 
    .filter('fixUrl', 
     function() { 
      'use strict'; 
      return function (relativePath) { 
       return 'http://test/' + relativePath; 
      }; 
     } 
    ); 

HTML

<a data-ng-href="{{'Login.aspx' | fixUrl}}" login </a> 

請讓我知道如何我可以解決這個問題。提前致謝。

回答

0

確保您的應用真的叫「TestDemo」,你在「TestDemo」應用內封閉和HTML已包含在腳本標記該文件

1

當我忘了通常發生在我身上包括js文件。

  • 檢查包含「TestDemo」文件被包含在HTML
  • 檢查模塊名稱匹配納克應用內
  • 如果過濾器和NG-應用是不同的模塊,檢查是否所述過濾器模塊被列爲在NG-應用模塊
  • 在依賴犧牲山羊給JS神:)

如果上述步驟不利於發佈的index.html,和JS文件

0

當我意外地在我的控制器函數中定義了過濾器而不是在聲明我的模塊之後,我收到了這個錯誤。請確保在創建您的todoApp之後,您可以創建自定義過濾器

 //todoApp is an AngularJS module object 
    var todoApp = angular.module("todoApp", []); 

    //Adding custom filter to demonstrate results 
    todoApp.filter("checkedItems", function() { 
     return function (items, showComplete) { 
      var resultArr = []; 
      angular.forEach(items, function (item) { 
       if (item.done == false || showComplete == true) { 
        resultArr.push(item); 
       } 
      }); 
      return resultArr; 
     } 
    });