Javascript 通过ng单击传递$scope
我知道有很多问题都已经得到了回答,但这是一种不同Javascript 通过ng单击传递$scope,javascript,angularjs,html,ionic-framework,Javascript,Angularjs,Html,Ionic Framework,我知道有很多问题都已经得到了回答,但这是一种不同 <div ng-repeat="hello in hello track by $index"> <div ng-click="data($index)"> {{data}} </div> </div> $scope.data = function($index) { $scope.sweet = $index; console.log($scope.sweet); } {{data
<div ng-repeat="hello in hello track by $index">
<div ng-click="data($index)">
{{data}}
</div>
</div>
$scope.data = function($index) {
$scope.sweet = $index;
console.log($scope.sweet);
}
{{data}}
$scope.data=函数($index){
$scope.sweet=$index;
log($scope.sweet);
}
我正在通过ng点击传递一个值,我也正在进入控制器。
但是,当我使用$scope
传递它时,它的值仅在同一视图中可用,而在其他视图中没有使用ng click
。
这是因为$scope对象是视图的本地对象。你可以参考更多细节。我想你需要这样的东西:
<div ng-repeat="item in data track by $index">
<div ng-click="getItem($index,item)">
{{item}}
</div>
</div>
在Atula中,我们有许多方法将值从一个函数传递到另一个函数或控制器,例如:将值保存在某些全局变量中,将值保存在$rootscope中,或将值保存在angularjs的本地存储中
因此,我认为最简单的方法是将价值保存在$rootScrop中
$scope.data = function($index) {
$rootScope.sweet = $index;
console.log($scope.sweet);
}
您需要在控制器中定义$rootScope,才能访问此:
现在,在需要访问此函数的索引值的地方调用此函数
alert( $rootScope.sweet);
它将显示对您的价值的警惕。
我希望它能解决你的问题。
拥有快乐的代码生活我们应该如何处理这些代码?你能分享不起作用的代码吗?我在任何地方都看不到ng repeat
。。有吗?很抱歉,我不能给你看,但是在这里我不能得到$scope.sweet在html中的值,就像我在html中使用{sweet}时一样nothing@rayon我已经编辑了我的代码。$index只适用于ng repeat,您不能以这种方式使用它。为什么要将$index传递给控制器中的函数?实际上,我的ng repeat工作正常,我不需要编辑其中的任何内容。我真正的问题是{{sweet}}只在使用过的同一视图中可用,而不是在其他视图中。帮助其他视图是我的责任,
alert( $rootScope.sweet);