2015-10-06 136 views
-2

我的問題與此相關。 Pass JavaScript variable into AngualrJs ng-init將Javascript變量傳遞給Angularjs控制器

這是要求傳遞一個單獨的javascript變量傳遞給角度控制器。有人可以讓我知道如何將一個腳本的幾個變量傳遞給控制器​​而不是一個變量?

+1

在另一個問題中解釋了傳遞變量的方法。它適用於單個或多個變量。 –

+0

首先,不要使用ng-init,這不是它的目的。其次,你爲什麼試圖首先從角度處理變量? – Claies

+0

@ Claies-頁面有JavaScript代碼,我們現在想用angular來代替jquery。所以我想只是將javascript變量傳遞給控制器​​,並讓控制器處理特定的模型.... – Ayesha

回答

7

假設你的變量沒有任何特殊的範圍......

window.var1 = true; 
var var2 = "foo"; 
var3 = {foo: "bar"}; 

var app = angular.module('myapp', []); 

app.controller('MainCtrl', ['$scope', '$window', function($scope, $window) { 
    $scope.var1 = $window.var1; 
    $scope.var2 = $window.var2; 
    $scope.var3 = $window.var3; 
}]); 

基本上從鏈接的問題複製粘貼。 Pass JavaScript variable into AngualrJs ng-init

+0

謝謝sg.cc .... – Ayesha

+0

沒問題。爲什麼你沒有將我的答案標記爲已接受? –

+1

錯字。幹得好。 :) – Ayesha

3

完全相同的方式。在控制器上注入$ window服務,角度模式外的所有變量將通過以下方式提供給控制器:

$scope.ControllerVariable = $window.ScriptVariable 
+0

你能告訴我我是否也可以做其他的事情嗎?如果我想將角度變量傳遞給JavaScript變量? – Ayesha

+0

簡單。在我嘗試之後,絕對已經得到了答案。只需扭轉它。 – Ayesha

+0

實際上,所有'$ scope.var'變量都可以在HTML中通過'{{var}}'表達式在標籤內使用指令'ng-controller'獲得。 –

相關問題