我有以下控制器:
appModule.controller('myController', function($scope, $http)
{
$scope.getObject= function(id)
{
$http.get('/objects/'+id+'.json').success(function (data, status) {
$scope.objects = data;
});
}
});
在我看来index.html
<button ng-click="getObject(id)">click</button>
它可以正常使用我的物体。在另一个视图(home.html)中,我想获得&#39;对象&#39;变量
我怎么能这样做。
由于
答案 0 :(得分:0)
我非常同情你的问题。 我花了很长时间才在angularjs中掌握这个概念。
短响应是在您的其他控制器(家庭控制器)中,您应该执行与上述相同的呼叫。
你可能已经一遍又一遍地读过服务和工厂是singeltons,在这种情况下,http是你的服务/工厂(高级读者:它实际上是一个提供者,但我试图保持简单),所以每次你称之为angular,只有在需要时才能检索到它。
每个控制器都应使用其数据($scope.something =
)填充其范围。
您可以使用$resource
或restangular打包http来。但我对你的建议是从$http
开始,一旦你感觉它转移到其他人身上。
@vojtiik提到的article也是一个非常好的读物。
答案 1 :(得分:0)
答案很晚,但我最近遇到了类似的问题。 $ rootScope是一个全局范围变量,可用于每个页面中的每个控制器。我假设“myController”与您在其他视图(home.html)中使用的控制器相同。您的代码现在看起来像
$rootScope.objects = data;
变量对象现在全局可用。