2016-12-15 62 views
0

這似乎超級基本,但對於我的生活,我無法弄清楚我做錯了什麼。我試圖使用在第二個模塊中定義的指令(我不控制)。使用來自其他模塊的指令

這裏是我的小提琴:http://jsfiddle.net/Kikketer/e04kj546/3/

這是非常基本的,但你可以看到,在不使用從「其他」模塊的指令。 我期待諸如http://mgcrea.github.io/angular-strap/#/getting-started和他們的行「將mgcrea.ngStrapmodule注入到您的應用程序中」。

angular.module('myApp', ['mgcrea.ngStrap']); 

我錯過了什麼嗎?

+0

在你的jsfiddle你只需要你的指令限制的元素角被期待它可以作爲一個屬性。例如http://jsfiddle.net/6Lwa8ohc/ – rob

+0

請注意,您在jsfiddle中使用的Angular 1.0非常古老。在Angular 1.3+元素指令中默認是允許的 – rob

回答

0

您需要引導模塊,在指令上設置restrict:'E',並將控制器聲明爲模塊。

var other = angular.module('other', []); 
 

 
other.directive('something', function() { 
 
    return { 
 
    restrict: 'E', 
 
    template: '<div>Yep</div>', 
 
    link: function() { 
 
     console.log('something'); 
 
    } 
 
    } 
 
}); 
 

 
var myApp = angular.module('myApp', ['other']); 
 
myApp.controller('MyCtrl', 
 
    function MyCtrl($scope) { 
 
    $scope.name = 'Superhero'; 
 
    }); 
 

 
angular.element(document).ready(function() { 
 
    var moduleEl = document.getElementById("my-app"); 
 
    angular.bootstrap(moduleEl, ['myApp']); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.1/angular.min.js"></script> 
 
<section id="my-app"> 
 
    <div ng-controller="MyCtrl"> 
 
    Hello, {{name}}! 
 
    <something> Hrmmm </something> 
 
    </div> 
 
</section>

+0

非常感謝你,我知道我錯過了一些明顯的東西。我還發現,至少在這個jsFiddle中,我不需要引導它:http://jsfiddle.net/Kikketer/e04kj546/ – Chris