2016-07-15 4 views
1

Angular Jsの新機能です。私は角度jsでgolangからデータを受け取ることができました。しかし、アラートボックスで使用すると、[オブジェクトオブジェクト]が出力されます。私はゴールの区切り文字を{{}}から< < < >>>に変更しようとしましたが、問題は解決されませんでした。Goテンプレートからのデータの取得Angular js

移動コード:(私は使用していビーゴ)

func (receiver *AdsController) LoadNewCampaignPage() { 
    view := viewmodels.NewCampaignPageViewModel{} 
    view.Title = "New Campaign" 
    receiver.Data["vm"] = view 
    receiver.Layout = "layouts/ads_header.html" 
    receiver.TplName = "templates/ads_add_campaign.html" 
} 

構造体viewmodels.NewCampaignPageViewModel {}

type NewCampaignPageViewModel struct { 
    Title   string 
    ProfileName  string 
    ProfilePicture string 
    UnUsedBoxes  []models.Box 
    ErrorMessage string 
} 

Htmlの

<div ng-controller="AddBoxForAdsCtrl"> 
    <button class="_button _button-3" ng-click="showHiddenForm()">Add Box</button> 
</div> 

JS

var addBoxForAds = angular.module('addBoxForAds', []); 
addBoxForAds.controller('AddBoxForAdsCtrl', function ($scope, $http){ 
    var title = $http.get('<<<.vm.Title>>>'); //Data from GO; delimiters are changed. 
    alert(title); 
}); 

私はここで間違いをしていますか? angularjsのゴーランからデータを取得するにはどうすればいいですか?どのように構造体要素を使用するUnUsedBoxes(構造体の配列です)?

+0

代わりに、アラートのはconsole.logを行い、その後あなたは 'http.get'にパラメータとしてURLエンドポイントを渡す必要が –

+0

オブジェクトに来ているかどうか確認します。 –

+0

@SimoEndreあなたは何をすべきか説明できますか? –

答えて

2

$http.get jsonデータを取得するためにサーバーに取得要求を行い、値をそのままjs-codeに渡しています。

import (
    "net/http" 
    "encoding/json" 
) 

func main() { 
    http.HandleFunc("/title", title_handler) 
    http.ListenAndServe(":8000", nil) 
} 

func title_handler(w http.ResponseWriter, r *http.Request) { 
    title := map[string]string{"title": "My Title"} 
    // this should work too: 
    // title := struct {title string} {"My Title"} 

    json_title, _ := json.Marshal(title) 
    w.Header().Set("Content-Type", "application/json") 
    w.Write(json_title) 
} 

:私が正しくあなたを考え出した場合、あなたは

var title = '<<<.vm.Title>>>'; 

それとも、あなたはこのダミー例(ビーゴのフレームワークに異なる場合があります)のように行くの関数を作ることができるようにコードを変更する必要がありますそして、JSで:

var title = $http.get('/title'); 
+0

それは私の最初の試みだった..しかし、それはエラーであることが判明したので、jsは動作を停止しました。だから私は '$ http.get'を使ったのです。 –

+0

Lemmeは編集を確認します..ありがとう –

+0

これはstructでも可能ですか? –

関連する問題