Поскольку моя проблема была просто отсутствующим словом в коде, я напишу способ сделать это.
Я думаю, что это может помочь другим учащимся.
Список файлов :
- приложение. js
- mycontroller. js
- page. html
- mydirective. html
- mydirectives. js
Ваше приложение. js использует поставщик маршрутов для отображения вашего вида. В этом примере у вас есть только одно представление, а именно страница. html. Эта страница контролируется mycontroller. js.
Вы хотите, чтобы на вашей странице. html отображалось несколько директив, каждая из них очень разная с точки зрения дизайна, поэтому вы поместили шаблон в мои директивы. html.
Файл, управляющий вашими директивами, - это mydirectives. js.
В нашем примере мы будем вызывать функцию, объявленную в mycontroller. js из mydirective. html. Функция просто отправит предупреждение.
app.controller('mycontroller', function ($scope) {
$scope.sendAlert = function () {
alert("It works !");
}
});
Теперь вы определяете директивы mydirective. html. Мы просто добавим простую кнопку для примера.
... your design
<button ng-click="callFunction()" type="button">Call the function</button>
... end of your design
Теперь, когда вы настроили свою директиву, вам нужно управлять ею с помощью файловых директив. js, которые могут содержать несколько директив.
app.directive('test', function() {
return {
restrict: 'E',
templateUrl: 'mydirectives.html',
scope : {
callFunction: "=call",
}
};
});
Теперь вы можете добавить директиву на своей странице. html. Это определено. Не забудьте добавить функцию;).
<test call="callFunction"></test>
Не забудьте добавить все файлы в ваш проект, и теперь он работает!