Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从外部脚本与angularjs模型通信_Javascript_Jquery_Angularjs_Twitter Bootstrap - Fatal编程技术网

Javascript 从外部脚本与angularjs模型通信

Javascript 从外部脚本与angularjs模型通信,javascript,jquery,angularjs,twitter-bootstrap,Javascript,Jquery,Angularjs,Twitter Bootstrap,我已经尝试了所有我能想到的方法来触发我表单的ng模型函数。我正在使用引导日期选择器。我需要引导数据采集器来触发ng模型值更新,当日期被采集器选中时,可以告诉我如何使用外部库或外部事件与ng模型交互吗 这是我的代码示例 这不是很复杂 // var app=angular.module(“DatePick”,[]); var doc=单据; app.controller(“AppCtrl”[ “$scope”、“$q”、“$http”, 函数($scope,$q,$http){ var-appCt

我已经尝试了所有我能想到的方法来触发我表单的ng模型函数。我正在使用引导日期选择器。我需要引导数据采集器来触发ng模型值更新,当日期被采集器选中时,可以告诉我如何使用外部库或外部事件与ng模型交互吗

这是我的代码示例

这不是很复杂

//
var app=angular.module(“DatePick”,[]);
var doc=单据;
app.controller(“AppCtrl”[
“$scope”、“$q”、“$http”,
函数($scope,$q,$http){
var-appCtrl=this;
appCtrl.name=“杰西应用程序”;
$scope.$on(“pickerChange”,函数(evt,数据){
$scope.$apply(函数(){
$scope.form[data.key]=data.value;
控制台日志(数据);
})
})
}
]);
var$范围;
doc.addEventListener(“DOMContentLoaded”,函数(e){
引导(doc.querySelector(“html”),[“DatePick”]);
var元素=document.querySelector(“表单”);
$scope=angular.element(element.scope();
});
$(文档).ready(函数(){
$(“输入:文本”).datepicker().change(函数(e){
$scope.$emit(“pickerChange”,{key:$(e.currentTarget).attr('name'),value:$(e.currentTarget).val()})
})
$(“.trigger”)。单击(函数(e){
变量输入=$(“输入[类型=文本]”);
input.val('xxx');
input.trigger('input');
})
})

文件
{{app.name}
Lorem ipsum dolor sit amet,奉献精英。这是一个很好的例子,它是一个很好的例子。这是一个无名小卒,我们应该坐在显贵的位置上,明白地说,这是一个无名小卒!
有效的
无效的
有效的
无效的
触发
您可以从
ui引导程序
指令库使用引导程序。
它具有角度积分,您可以使用纯角度绑定,与
ng model

模型一起激活,效果很好。你做错的是
form.date.$dirty
form.date.$valid
form.date.$invalid
调用。尝试将
{{date}}{{date2}}
放在HTML中,当您选择一个日期时,您会看到它更新。好的,这很有意义,但是如何在表单上验证日期和日期2。这就像angular不知道这一点,即使我使用$scope.$apply()来确保它知道值已更改。将日期选择器值添加到工厂或服务以便将更新应用于绑定是否更有意义?我将使用它作为最后手段。我不太关注它是引导日期选择器。我更关心的是能够从外部脚本与模型进行通信。它可能是jquery本身,甚至是另一个脚本。ui boostrap库将大多数普通boostrap组件作为指令来创建无缝集成。在尝试这样连接东西时,有人在angular中使用反模式。我会用angular的方式来做,这样更容易维护和理解。大约18个月前,我开始广泛学习angular。我建议你听@BjørnSørensen。在使用Angular之前,很难放弃我所依赖的某些开发范例,但是违背Angular惯例会在以后的过程中带来很多痛苦。它是固执己见的,如果你与它争论,它会给你一个满满的耳朵。