我正在coffeescript中构建一个jsfiddle角度应用程序。它失败了,我把失败减少到了这个最小的那个:
<body ng-app="MyApp">
<div ng-controller="MyController">
{{text}}
</div>
</body>
这个javascript小提琴有效:http://jsfiddle.net/nje7H/
var app = angular.module("MyApp", []);
app.controller("MyController", function($scope) {
$scope.text = "Hello."
});
但是,这个coffeescript小提琴失败了:http://jsfiddle.net/nje7H/1/
app = angular.module "MyApp", []
app.controller "MyController", ($scope) ->
$scope.text = "Hello."
控制台显示&#34;未捕获错误:无模块:MyApp&#34;
为什么?
答案 0 :(得分:2)
jsfiddle使用<script type="text/coffeescript">
个元素和一个库来编译客户端上的coffeescript,直到dom准备就绪并且代码在角度引导之后才执行。如果您在代码中手动引导角度(fiddle):
angular.bootstrap document.body, ['MyApp']
在生产环境中,您应该将您的coffeescript编译为浏览器的javascript,这不会有问题。请参阅this question。