2014-02-19 70 views
-1

我是新來angularjs.presently我建立spa使用angularjs和mvc4。 我可以在angularjs的不同視圖中使用$ scope變量嗎? Plz幫助我。

+0

你可以在你的變量存儲在服務或在rootScope,服務優選作爲污染rootScope是角度不好的做法。 –

+0

增加了另一個演示,顯示不同視圖中的單個變量 – cheekybastard

回答

0

$ scope僅限於控制器。嘗試使用$rootScope

-1

Angular $ scope是原型繼承的子範圍,因此基本上可以有一個父$範圍,它在幾個子範圍之間共享。

<div ng-controller="parentController"> 
    <div ng-include="view1.html"></div> 
    <div ng-include="view2.html"></div> 
</div> 

這裏parentController可以被兩個視圖訪問。

+0

爲什麼-1 ........? –

0

要在不同控制器之間通信變量,請註冊factory,然後在每個控制器中將工廠對象傳遞給$ scope。

簡單的演示http://plnkr.co/edit/PdDmUz?p=preview

更新:另一個演示中,表示使用服務/工廠不同視圖單可變使用。 http://plnkr.co/edit/P2UudS?p=preview

的index.html

<body ng-controller="MainCtrl"> 
<h3>Controller 1</h3> 
    Check me, to check both: 
    <input type="checkbox" ng-model="selected.data" /> 
    <pre>selected.data: {{selected.data}}</pre> 

<h3>Controller 2</h3> 
<div ng-controller="MainCtrl2"> 
    Or, check me: 
    <input type="checkbox" ng-model="selected2.data" /> 
    <pre>selected2.data: {{selected2.data}}</pre> 
</div> 
</body> 

app.js

app.controller('MainCtrl', function($scope,uiFieldState) { 
    $scope.selected = uiFieldState.uiObject; 
}) 

app.controller('MainCtrl2', function($scope,uiFieldState) { 
    $scope.selected2 = uiFieldState.uiObject; 
}) 

app.factory('uiFieldState', function() { 
    return {uiObject: {data: null} } 
}); 
+0

我的問題是如何使用單個$ scope變量在不同的視圖中使用不同的controller.For示例我有一個Employee控制器和兩個視圖Employeelist.html和EmployeeDetails.html.In僱員控制器我有兩個範圍變量$ scope.Employeelist使用在EmployeeList和$ scope.Employee中使用EmployeeDetails.html .But在我的情況下,EmployeeDetails.html不能綁定到$ scope.candidate.I已經檢查了Batarang.Data從服務器正常到來。 – amitabha

+0

工廠會將變量傳遞給另一個視圖中的單個$作用域。不同的視圖必須有一個$ scope的控制器,所以我發佈的內容將起作用。 – cheekybastard

相關問題