2016-04-01 15 views
0

Benim index.html adend kullanıcımda bir JS nesnesi var. Bu nesnede, posta, ad vb. Bazı kullanıcılar vardır.JS'den AngularJS'ye nasıl nesne aktarılır?

Artık bu nesneyi app.js (AngularJS) 'de kullanmak istiyorum. Oraya ihtiyacım var. Ben app.js bu gibi tranfer çalıştı:

var tempArr = $scope.user; 

Ama çalışmıyor. Dizini, benim index.html dizinimdeki app.js'ye aktarmak mümkün mü? Kendi bünyesinde

+2

"HTML'de bir JS nesnesi" bulunamaz. Sadece JavaScript’te bulunur. Bu nesne 'index.html'de nasıl tanımlanır? Bazı kodları gönderin. – Thomas

+0

'window' enjekte ederek olabilir – Rayon

+2

Nesneyi genel değişkene atayın. Uygulamada herhangi bir yerde küresel bir değişken kullanabilirsiniz. – Roy

cevap

2

gerekirse ne zaman yaptığım, hatta

GLOBAL.app = angular.module(/*blah blah*/); 
GLOBAL.someHelperFunction = function someHelperFunction(){}; 

ve benzeri

var GLOBAL = {}; 

gibi, tek bir küresel nesne oluşturmak ve üzerinde madenin her şeyi eklemek olduğunu JS'den angularjs'e kadar js'de olan her şey, tarayıcının global penceresi kapsamı içerisindedir ve angularjs kapsamı içinde erişilebilir durumdadır, dolayısıyla js'den angularjs bağlamına bir değişken kullanmak için hiçbir problem yoktur.

+1

@ yashdeep'ın cevabına eklemek için aşağıdaki deneyin: app.tempArr = $ window.user; – vvs

1

, app.js muhtemelen küresel kapsamda yani dışarıdan erişilebilen aynı app değişken (yapılan) olduğunu kontrol edilmelidir

var app = angular.module(/*blah blah*/); 

gibi bir şey var. Böylece

Ancak, bu sadece hızlı ve kirli bir çözümdür. Siz sordunuz gibi

GLOBAL.tempArr = $scope.user; 
// even better if you just clone the user values 
// not just attach it to GLOBAL 
İlgili konular