Javascript 回调和AngularJS(ng点击)
我有一个按钮像Javascript 回调和AngularJS(ng点击),javascript,angularjs,Javascript,Angularjs,我有一个按钮像 <div class="button" ng-repeat="event in events" ng-click="selectEvent($index, event, generate)"> Content </div> 函数generate是在JS文件中的某个地方定义的。听起来像Angular没有看到generate回调。确保将其定义到控制器中,如: $scope.generate = function(){/**/} 或 或 听起来
<div class="button" ng-repeat="event in events"
ng-click="selectEvent($index, event, generate)">
Content
</div>
函数generate是在JS文件中的某个地方定义的。听起来像Angular没有看到generate回调。确保将其定义到控制器中,如:
$scope.generate = function(){/**/}
或
或
听起来Angular没有看到生成回调。确保将其定义到控制器中,如:
$scope.generate = function(){/**/}
或
或
要使其工作,需要在范围内生成。角度模板需要能够看到它。因此,您可以在控制器中定义它:
$scope.generate = generate;
这将指定当前生成函数对Angular可见。要使其工作,生成需要在范围内。角度模板需要能够看到它。因此,您可以在控制器中定义它:
$scope.generate = generate;
这将指定当前生成函数对Angular可见。前言:@MaximShoustin的答案是正确的。然而,我不确定它是否解决了这里发生的其他一些问题
另外,我不想让这听起来像是居高临下,这只是建设性的批评。要么接受,要么放弃
回调的连接可能应该由控制器完成,而不是由视图完成。
为什么?
如果回调由视图连接,那么测试控制器就比较困难。
这是商业逻辑。
视图应该只关注显示事物和连接事件。
看起来您正试图在视图中连接业务逻辑。换句话说,当你点击这个东西的时候,调用这个函数,然后在完成后调用这个函数
$scope.doSomething = function($index, event) {
//do stuff
$scope.generate();
};
$scope.generate = function (){
//more stuff.
};
为什么要将控制器作用域变量传递到一个函数中,而该函数是由事件绑定中的求值表达式传递到函数中的?看起来很复杂。
我是专门说这一行的:
callback($scope, $http);
这里的目的是什么?是不是每个事件的生成都会有所不同?为什么必须将$scope和$http传递给它?您应该可以在整个控制器功能中访问这些
你好像想在这里做些疯狂的事。也许我不明白你要解决的问题。前言:@MaximShoustin的答案是正确的。然而,我不确定它是否解决了这里发生的其他一些问题
另外,我不想让这听起来像是居高临下,这只是建设性的批评。要么接受,要么放弃
回调的连接可能应该由控制器完成,而不是由视图完成。
为什么?
如果回调由视图连接,那么测试控制器就比较困难。
这是商业逻辑。
视图应该只关注显示事物和连接事件。
看起来您正试图在视图中连接业务逻辑。换句话说,当你点击这个东西的时候,调用这个函数,然后在完成后调用这个函数
$scope.doSomething = function($index, event) {
//do stuff
$scope.generate();
};
$scope.generate = function (){
//more stuff.
};
为什么要将控制器作用域变量传递到一个函数中,而该函数是由事件绑定中的求值表达式传递到函数中的?看起来很复杂。
我是专门说这一行的:
callback($scope, $http);
这里的目的是什么?是不是每个事件的生成都会有所不同?为什么必须将$scope和$http传递给它?您应该可以在整个控制器功能中访问这些
你好像想在这里做些疯狂的事。也许我不明白你要解决的问题。太棒了,谢谢$scope.generate=generate;这是调用范围外函数的一种非常优雅的方式,谢谢。太棒了,谢谢$scope.generate=generate;这是调用范围外函数的一种非常优雅的方式,谢谢。是的,就是这样。谢谢,就这样。感谢$scope回调,$http对于每个事件都是唯一的——实际上它是某种仪表板应用程序,这个回调将使用$scope生成图表,并使用$http提取数据。这也是一种实时应用程序,回调结果取决于所选事件,用户可以随时选择和取消选择事件。您可以通过$index查找generate函数,或者,您可以将generate函数附加到事件对象本身,并在传入后调用它。回调$scope,$http对于每个事件都是唯一的——实际上它是某种仪表板应用程序,这个回调将使用$scope生成图表,并使用$http提取数据。这也是一种实时应用程序,回调结果取决于所选事件,用户可以随时选择和取消选择事件。您可以通过$index查找generate函数,或者,您可以将generate函数附加到事件对象本身,并在传入后调用它。