在下面的代码中,我登录到$ rootScope控制台并记录未定义。 为什么会这样?
$scope.init = function ($rootScope) {
// var s = $cookies.get("arr");
// var ex = [];
var ex = $cookies.get("arr");
$scope.arry = JSON.parse(ex);
alert("scooe.arry" + $scope.arry);
console.log("JSON.stringify($cookies.get('arr'))=" + $scope.arry);
//create a call to google api for all stocks in the $scope.arry
$scope.arry.forEach(function(entry) {
console.log("entry is " + entry);
var v = httpcall.getVal(entry);
$scope.arry.push(v);
//console.log("rootscoooope =" + $rootScope.share + "==");
console.log($rootScope); debugger;
});
init函数由名为NameCtrl的控制器的ng-init调用。
<ul>
<li ng-repeat="sr in arry track by $index"> value : {{sr.l_cur}}
<a href='#' onhover="remove" ng-click="removename(sr)"> (-)</a>
</li>
</ul>
答案 0 :(得分:1)
您可以阅读角度documentation for ngInit
(...)ngInit只有少数适当的用途,例如 至于别名ngRepeat的特殊属性,如演示中所示 下面;并通过服务器端脚本注入数据。除了这些 在少数情况下,您应该使用控制器而不是ngInit来初始化 范围内的值。
所以你宁愿把你的逻辑直接放到你的控制器里。将根范围注入控制器应该没有任何问题。
答案 1 :(得分:1)
$示例中的rootScope是一个参数。你如何调用init函数?
从模板中,您应该将其称为init($root)