[英]Injecting service into controller
將服務注入控制器時,出現編譯錯誤。 該應用程序的預期輸出應僅為網頁上的文本“ hello”。
<!doctype html>
<html>
<head>
</head>
<body ng-app="ddApp">
<div ng-controller="ddController">
<div svc-show-meetings template="{{template}}">
</div>
</div>
</body>
<script>
var ddApp = angular.module('ddApp', [])
ddApp.factory('svcMeetingsTemplate', function ()
{
return function ()
{
return "<div>Hello</div>";
};
});
ddApp.directive('svcShowMeetings', function ($compile)
{
return {
scope: true,
link: function (scope, element, attrs)
{
}
};
});
ddApp.controller('ddController', ['$scope', 'svcMeetingsTemplate', function ($scope, svcMeetingsTemplate)
{
$scope.template = svcMeetingsTemplate();
}]);
</script>
</html>
小提琴: http : //jsfiddle.net/Xp5BF/1/
我顯然做錯了。 我使用在此處發布的一些代碼構建了此代碼: https : //stackoverflow.com/a/14846975/753632
該錯誤似乎是由於使用外部依賴項時jsfiddle不夠出色而引起的。 通過要求它在<head>
包含angular而不是onLoad
來固定該位。
要實際渲染模板,請在指令中像這樣$watch
scope.$watch('template', function() {
element.append(scope.template);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.