2013-02-06 30 views
17

Làm thế nào để làm cho một jsfiddle ra khỏi đoạn mã sau:AngularJS đơn giản chạy trên 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> 

nỗ lực làm việc phi của tôi: http://jsfiddle.net/zhon/3DHjg/ thấy không có gì và có lỗi.

+3

http://pkozlowskios.wordpress.com/2012/08/12/using-jsfiddle-with-angularjs/ –

+0

@mark, điều này trả lời cho trường hợp chung. Bạn có thể viết nó như là một câu trả lời để tôi có thể "chấp nhận" nó. – zhon

+0

Sau khi chọn Loại tải: "Không quấn - trong " trong cài đặt JavaScript hoạt động cho tôi. – Thulasiram

Trả lời

22

@pkozlowski .opensource có blog post tốt đẹp về cách sử dụng jsFiddle để viết các chương trình mẫu AngularJS.

6

Bạn đã xác định bộ điều khiển của mình trong phạm vi chức năng không thể truy cập vào góc (góc chưa được tải). Nói cách khác, bạn đang cố gắng gọi các hàm và các trình trợ giúp của thư viện góc như ví dụ bên dưới trước khi tải thư viện góc.

function onload(){ 
function MainCtrl(){} 
} 

Để giải quyết điều này, hãy chuyển loại tải góc của bạn thành No wrap - in <body> như được hiển thị trong ảnh chụp màn hình.

enter image description here

đây là một công tác example in jsfiddle

+3

Tôi nên chọn "không quấn (thân)" thay vì "onload" – zhon

39

Bạn cần phải thiết lập một số điều trong jsFiddle để làm việc này.

Đầu tiên, trên bảng điều khiển bên trái, trong "Khung & Tiện ích mở rộng", chọn "Không quấn - trong < cơ thể>".

Bây giờ, dưới "Fiddle Options", thay đổi "Body tag" để <body ng-app='myApp'>

Trong bảng điều khiển JS, bắt đầu mô-đun của bạn:

var app = angular.module('myApp', []); 

Check it out: http://jsfiddle.net/VSph2/1/

+2

Tại sao tôi cần phải khởi tạo ứng dụng của mình? Ví dụ hoạt động mà không có nó. – zhon

+0

Sau khi chọn Loại tải: "Không quấn - trong " trong cài đặt JavaScript hoạt động cho tôi. – Thulasiram

1

Tôi viết câu trả lời của tôi cho những người hạ cánh trên trang này, tôi đã sử dụng để sử dụng ng-mô-đun chỉ thị nhưng trong jsfiddle sau nửa giờ tôi nhận ra rằng ng-mô-đun là không được phép và bạn thấy không có lỗi, và khi thay đổi mà ng-mô-đun đến ng-app fiddle làm việc rất tốt. Tôi chỉ muốn chia sẻ điều này. Và không có bọc (body) là bắt buộc quá.

<div ng-app="appX" ng-controller="appCtrl"> 
    <p>{{greeting}} 
    </p> 
</div> 

var app=angular.module("appX",[]); 
console.log(app); 
app.controller("appCtrl",function($scope){ 
$scope.greeting="Hello World"; 
}); 

https://jsfiddle.net/cloudnine/trgrjwf1/7/

1

Bấm nút JAVASCRIPT, chọn phiên bản góc cạnh và nơi u muốn bao gồm kịch bản nạp: enter image description here

Sau đó bấm nút HTML và thêm ng-ứng dụng trong thẻ body. Nó tất cả :) enter image description here

0

Kể từ 1.4.8 góc đã được lựa chọn bởi JSFiddle như tùy chọn hàng đầu cho góc V1 trong JAVASCRIPT thiết lập bảng điều khiển của nó, hạn chế hơn được áp dụng: cả ng-appng-controller cần được khai báo trong HTML để làm cho nó hoạt .

HTML mẫu:

<div ng-app="myApp" ng-controller="myCtrl"> 
    <input type="text" ng-model="sample" placeholder="type something here..."> 
    <span>{{sample}}</span> 
</div> 

mẫu JS:

angular.module('myApp', []) 
    .controller('myCtrl', function($scope) {}); 

https://jsfiddle.net/y170uj84/

Ngoài ra thử nghiệm với các mới nhất kiễu góc 1.6.4, bằng cách thiết lập như Resource ngoài.

Các vấn đề liên quan