将服务注入控制器时出现编译错误。这个应用程序的预期输出应该只是文本"你好"在网页上。
<!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/
我显然做错了什么。我使用SO中发布的一些代码构建了这个: https://stackoverflow.com/a/14846975/753632
答案 0 :(得分:2)
当涉及到使用外部依赖项时,错误似乎来自于jsfiddle并不是很棒。通过要求它在<head>
而不是onLoad
中包含角度来修复该位。
要在模板中实际呈现模板,$watch
,就像这样
scope.$watch('template', function() {
element.append(scope.template);
});