在JSFiddle上运行的简单AngularJS

zho*_*hon 18 jsfiddle angularjs

如何从以下代码中创建一个jsfiddle:

<html>
<head>
</head>
<body>
    <div ng-app ng-controller="MainCtrl">
        <ul>
            <li ng-repeat="num in nums">
                {{num}}
            </li>
        </ul>
    </div>

    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular.js"></script>

    <script type="text/javascript" charset="utf-8">
        function MainCtrl($scope) {
            $scope.nums = ["1","2"];
        }
    </script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我的非工作尝试:http://jsfiddle.net/zhon/3DHjg/没有显示任何内容并且有错误.

dut*_*tzi 40

您需要在jsFiddle中设置一些内容才能使其正常工作.

首先,在左侧面板的"Frameworks&Extensions"下,选择"No wrap-in <body>".

现在,在"小提琴选项"下,将"身体标签"更改为 <body ng-app='myApp'>

在JS面板中,启动您的模块:

var app = angular.module('myApp', []);
Run Code Online (Sandbox Code Playgroud)

看看:http://jsfiddle.net/VSph2/1/

  • 为什么我需要初始化我的应用程序?这个例子没有它. (2认同)

Mar*_*cok 22

@pkozlowski.opensource有一篇关于如何使用jsFiddle编写AngularJS示例程序的博文.


mpm*_*mpm 7

您已经在角度无法访问的函数范围中定义了控制器(角度尚未加载).换句话说,在加载角度库之前,您尝试调用角度库的函数和助手,如下例所示.

function onload(){
 function MainCtrl(){}
}
Run Code Online (Sandbox Code Playgroud)

要解决此问题,请将角度加载类型切换为No wrap - in <body>屏幕截图中所示.

在此输入图像描述

这是jsfiddle中的一个工作示例

  • 我应该选择"no wrap(body)"而不是"onload" (3认同)