Javascript 如何从jquery更新控制器变量?
我有一个日期选择器小部件,我想将拾取的日期传递给控制器。我的视图中有以下脚本片段:Javascript 如何从jquery更新控制器变量?,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我有一个日期选择器小部件,我想将拾取的日期传递给控制器。我的视图中有以下脚本片段: <div id="datepicker"></div> <script type="text/javascript"> $('#datepicker').datepicker(); $('#datepicker').datepicker() .on('changeDate', function(ev
<div id="datepicker"></div>
<script type="text/javascript">
$('#datepicker').datepicker();
$('#datepicker').datepicker()
.on('changeDate', function(ev){
alert(ev.date);
});
</script>
$('#datepicker')。datepicker();
$('#datepicker')。datepicker()
.on('changeDate',功能(ev){
警报(ev.日期);
});
如何将此“ev.date”发送给控制器
我想让它影响控制器变量,这样这个更改就会被一个指令接受,dom就会在指令中被修改。您可以这样做:
$('#日期选择器')。日期选择器()
.on('changeDate',功能(ev){
//获取控制器和作用域
var element=angular.element($(“#日期选择器”);
var controller=element.controller();
var scope=element.scope();
//由于这发生在angular之外,您可能必须通过将函数调用包装在$apply中来通知angular更改
作用域$apply(函数(){
范围更新的TEFUNCTION(版本日期);
});
});
请参阅:您可以尝试使用angular事件总线并触发事件。这告诉我什么:(我昨天才开始使用angularjs。您可以发布一个如何向控制器中的变量发送数据的示例吗?我在控制器中创建了一个
updateDateFunction
定义:$scope.updateDateFunction=函数(日期){$scope.pickedDate=date;};
并使用了您的代码,不幸的是它不起作用,并给出了以下错误:Object[Object Object]没有“updateDateFunction”方法。
函数没有拼写错误。您将函数放在$scope上,而不是控制器上(这是正常的,我将更新代码以适应您的结构)