2015-06-22 1 views
1

Im используя угловой подход для DevExtreme.Угловой и DevExtreme

Я просто пытаюсь запустить этот код, но до сих пор я не запускался.

Это мой HTML:

<!doctype html> 
<html ng-app="myCalc"> 

<head> 
    <title>TODO supply a title</title> 
    <meta charset="UTF-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> 
     <script src="js/libs/angular.js/angular.js" type="text/javascript"></script> 
    <script src="js/libs/angular.js/angular-sanitize.js" type="text/javascript"></script> 
    <script src="js/libs/angular.js/angular-resource.js" type="text/javascript"></script> 

    <script src="js/libs/angular.js/angular-route.js" type="text/javascript"></script> 
    <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/globalize/0.1.1/globalize.min.js"></script> 


    <script src="js/libs/angular.js/dx.webapp.js" type="text/javascript"></script> 
    <script src="script.js" type="text/javascript"></script>    
    <link rel="stylesheet" type="text/css" href="http://cdn3.devexpress.com/jslib/15.1.3/css/dx.common.css" /> 
    <link rel="stylesheet" type="text/css" href="http://cdn3.devexpress.com/jslib/15.1.3/css/dx.light.css" /> 

    <script src="js/libs/angular.js/dx.all.js" type="text/javascript"></script> 




</head> 
<body ng-controller="AppCtrl" > 

    <form> 
     <br> 
     <br>    
      Parameter 1: 
     <input type="text" ng-model="param1"> 
     <br> 
     <br> 
      Parameter 2: 
     <input type="text" ng-model="param2"> 
    </form> 
    <br> 
    <br> 


<div dx-button="{ 
     text: 'Sample GET', 
     clickAction: click() 
    }"></div> 



    <br> 
    <div>Sum: {{data}}</div> 
    <br> 
</body> 

Это мой сценарий:

(function(angular) { 
'use strict'; 
angular.module('myCalc', [ 'dx' ]) 
angular.module('myCalc', ['ngRoute']) 


    .controller('AppCtrl', function($scope, $http, $templateCache) { 
     $scope.click = function(url) { 
      $scope.url = url; 

      $http.get($scope.url, { 
       params: { 
        param1: $scope.param1, 
        param2: $scope.param2 

      }, 
      cache: $templateCache 
     }). 
     success(function(data) { 
      $scope.data = data; 
     }). 
     error(function(data) { 
      $scope.data = data || "Request failed"; 
     }); 
     }; 
}) 


.config(function($routeProvider, $locationProvider) { 
    $routeProvider 
    .when('http://localhost:8000/calc', { 
     templateUrl: 'index.html', 
     controller: 'AppCtrl' 
    }); 
    // configure html5 to get links working on jsfiddle 
    $locationProvider.html5Mode(true); 
}); 

})(window.angular); 

Кроме того, у меня есть сервер в NodeJS как:

var url = require('url'); 
//Require express, 
var express = require('express'); 
//and create an app 
var app = express(); 

//app.get() which represents the HTTP GET method 
app.get('/', function (req, res) { 
    res.send('Hello World!'); 
}); 

//app.get() which represents the HTTP GET method param1/:param1/param2/:param2 
app.get('/calc', function (req, res) { 

    url_parts = url.parse(req.url, true); 
    console.log(url); 
    console.log(url_parts); 
    a = parseInt(url_parts.query.param1); 
    console.log(a); 
    b = parseInt(url_parts.query.param2); 
    console.log(b); 

    output = a+b; 
    console.log(output); 
    res.writeHead(200, { 
        'Content-Type': 'text/html', 
        'Access-Control-Allow-Origin' : '*'}); 
    res.end(output + "\n"); 
}); 

var server = app.listen(8000, function() { 
    var host = server.address().address; 
    var port = server.address().port; 
    console.log('Example app listening at http://' + host + ':' + port); 
}); 

Whats что я не запускался этот код? Может кто-нибудь мне помочь?

Благодаря Родриго

+0

Есть ли ошибки в консоли браузера? – Sergey

+0

Ошибка при запуске: [$ injector: modulerr] Не удалось создать экземпляр модуля myCalc из-за: Ошибка: [$ injector: modulerr] Не удалось создать модуль dx из-за: Ошибка: [$ compile: baddir] Название директивы 'DOMComponent' инвалид. Первый символ должен быть строчной буквой http://errors.angularjs.org/1.4.0/$compile/baddir?p0=DOMComponent –

+0

http://errors.angularjs.org/1.4.0/$injector/modulerr ? р0 = дх & р1 = Ошибка% 3A% 20% 5B% 24compile% 3Abaddir% 5D% 20Directive% 20name% 20'DOMComponent '% 20is% 20invalid.% 20the% 20first% 20character% 20must% 20be% 20a% 20lowercase% 20letter% 0Ahttp % 3A –

ответ

0

Я обновил приложение, как описано here

Основное отличие заключается в использовании ng-view вместо ng-controller в файле index.html. Кроме того, существует небольшой рефакторинг кода.

Вы можете скачать простой проект здесь - https://www.dropbox.com/s/ayc00jb0gg7xfdl/ng.zip?dl=0 и запустить его на своем локальном веб-сервере.

Надеюсь, это поможет!

[Upd]

Это article описывает шаг за шагом, как использовать DevExtreme виджетов с рамками AngularJS.

+0

Не удалось загрузить ресурс: net :: ERR_EMPTY_RESPONSE (16: 39: 17: 558 | ошибка, сеть) по адресу http: // localhost: 8383/AngularApplicationDevExt/[object% 20Object] ТипError: a.indexOf не является функцией по адресу n (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.11/angular.min.js: 83: 467) at m (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.11/angular.min.js:82:308) at $ get.f –

+0

Я попробовал обновление всю программу и нашел ошибку выше. Как сделать, чтобы передать параметры через DevExtreme вот так:

+0

И я хочу поблагодарить за вашу помощь! –