2016-06-05 2 views
0

Я использую клиентский персик js локально для доступа к удаленному серверу перьев. Я использую ручки (основание 6 установки Yeti) на клиенте.Передача данных ответа API для интерфейса Handlebars

Этот код передаст либо объект [Object, Object] (исходный ответ) , либо строку json на консоль.

pageService.get().then(function(pages) { 
    var pageList = JSON.stringify(pages.data); 
    console.log(pageList); 
    var pageObj = JSON.parse(pageList); 
    console.log(pageObj); 

Как я могу получить это в руле как переменную.

<h4>List Page SEO</h4> 
{{ pageList }} 

<div id="page-info"> 
    {{#each pageObj}} 
    <h2>{{title}}</h2> 
    <h2>{{slug}}</h2> 
    <p>{{description}}</p> 
    {{/each}} 
</div> 
+0

Я не уверен, что вы пытаетесь сделать? Используя клиент, я не вижу причин для того, чтобы создавать или анализировать данные JSON. – Daff

+0

Спасибо Daff за ответ и перья !! Я не уверен, что я пытаюсь сделать: ~) Исходя из Laravel и JS, все еще немного загадка, Feathers привлекателен из-за auth и в реальном времени, поэтому пытался обработать документы http: //docs.feathersjs. com/clients/rest.html при использовании браузера. Возможно, мне нужен пример запроса на получение запроса, который передал бы ответ на переменную Handlebars, которую я мог бы использовать, или мне нужно изучить JS, чтобы выяснить, как разбить данные из объекта, переданного из messageService.get. – BrioDev

ответ

0

Рули шаблон может быть оказана с данными сервера, используя Feathers client как это:

<script type="text/javascript" src="socket.io/socket.io.js"></script> 
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.5/handlebars.js"></script> 
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/core-js/2.1.4/core.min.js"></script> 
<script type="text/javascript" src="//npmcdn.com/[email protected]^1.0.0/dist/feathers.js"></script> 

<script id="pages-template" type="text/x-handlebars-template"> 
    <h4>List Page SEO</h4> 

    <div id="page-info"> 
    {{#each pages}} 
     <h2>{{title}}</h2> 
     <h2>{{slug}}</h2> 
     <p>{{description}}</p> 
    {{/each}} 
    </div> 
</script> 

<script type="text/javascript"> 
    var socket = io(); 
    var app = feathers() 
    .configure(feathers.hooks()) 
    .configure(feathers.socketio(socket)); 

    var source = $("#pages-template").html(); 
    var template = Handlebars.compile(source); 

    app.service('pages').find().then(items => { 
    console.log(template({ 
     pages: items.data 
    })) 
    }); 
</script>