2015-09-26 13 views
1

我有全局變量$scope.posts在控制角JS: 我這樣做增加這個變量:在Angular JS中增加變量?

$scope.posts = $scope.posts + 1; 

所以我的IDE的編輯就凸顯了這一代碼,並告訴:

值分配給原始WIL丟失

什麼意思和如何解決?

+1

全局變量是什麼意思? – Wawy

+0

'posts'是這個實例中'$ scope'的一個原始(非對象)屬性,但被分配給'$ scope' **不會使**屬性***全局***。您的IDE可能會警告您,您正在另一個控制器中覆蓋此屬性,但沒有更多代碼,無法確認。請參閱http://stackoverflow.com/questions/14049480/what-are-the-nuances-of-scope-prototypal-prototypical-inheritance-in-angularjs,以深入分析此潛在解決方案。 – Claies

回答

4

初始化變量

在你app.js或主角度模塊初始化變量與此

.run(function ($rootScope) { 
    $rootScope.posts; 
}) 

然後任何你想提高這個使用語法

$scope.posts += 1; 

它將值遞增1。

最佳實踐

$rootScope可能不是你想要的。您可以通過服務或工廠在應用程序間共享數據。我做了一個小小的Gist來展示它是如何工作的,檢查出here