JSONファイルからjavascriptにタグを付ける変数が必要です。これはAngularJS JSON変数(javascriptタグ内に変数あり)
[
{
"title": "AfroEarth USA",
"url": "us",
"id": "50011",
"country" : "US",
"countryFlag": "img/flags/us-flag.png",
"countries": [
"AUSTRALIA",
"CANADA",
"SOUTH AFRICA",
"UNITED KINGDOM",
],
"countrieUrls": [
"/au",
"/can",
"/sa",
"/uk"
],
},
{
"title": "AfroEarth UNITED KINGDOM",
"url": "uk",
"id": "50011",
"country" : "UK",
"countryFlag": "img/flags/uk-flag.png",
"countries": [
"AUSTRALIA",
"CANADA",
"SOUTH AFRICA",
"UNITED STATES",
],
"countrieUrls": [
"/au",
"/can",
"/sa",
"/us"
],
},....
私のJSONファイルの一部は、これは私のコントローラ
afroEarthApp.factory('Main', ['$resource', function ($resource) {
return $resource('js/afromain.json',{})
}])
afroEarthApp.controller('afroEarthMainCtrl',['$scope','$http','$location','Main', function($scope, $http, $location, Main) {
$scope.mainSite = Main.query();
}]);
そして、私のhtml
<!doctype html>
<html lang="en" ng-app="afroEarthApp">
<head ng-controller="afroEarthMainCtrl">
<!-- Site Title -->
<title>{{mainSite[0].title}}</title>
</head>
<body class="home-page" ng-controller="afroEarthMainCtrl">
<ng-view></ng-view>
<script src="bower_components/angular/angular.js"></script>
<!--Angular.js Route-->
<script src="bower_components/angular-route/angular-route.js"></script>
<!--Angular.js Resource-->
<script src="bower_components/angular-resource/angular-resource.js"></script>
<script src="js/controllers.js"></script>
<!-- WLD CAMPAIGN TRACKING -->
<script type="text/javascript">
$(document).ready(function(){
var $element = $('[ng-controller="afroEarthMainCtrl"]');
var scope = angular.element($element).scope().mainSite; // this is a problem
console.log(scope);
});
var wld_app_id = 312312;
var wld_app_url = "us.afroearth.com";
</script>
<title>{{mainSite[0].title}}</title>
の一部です - これは作品です。 var scope = angular.element($element).scope().mainSite;
- これは配列です。 しかし、最初のオブジェクトを取得したいとき。 var scope = angular.element($element).scope().mainSite[0];
- これは無効です。 var scope = angular.element($element).scope().mainSite[0].id;
- また、その情報は、それがdocument.ready後に道以降でのみ利用可能であることを意味$リソースから戻って来ている場合は、それが使用可能になる前にその情報を取得しようとしている
まず、これをこのようにしようとしている理由は明らかではありません。 'angular.element()。scope()'を使うことは決して必要ではありません。第2に、戻り値は非同期の '$ resource'コールバックからのものであり、' $(document).ready'の間は利用できないので、あなたはこの方法でこの変数にアクセスすることはできません。 – Claies
@Claiesに同意します。 –
バックエンドプラットフォーム用のjsコード付きのスクリプトタグがあります。そして、私はこの変数に 'var wld_app_id' IDをJSONから入れておく必要があります。どうしたらいいですか? –