我正在为jQuery日期选择器插件创建AngularJS指令,当日期选择器日期更改时,该插件应更新ng-model。
这是到目前为止的代码:
angular.module('bootstrap-timepicker', []).directive('timepicker', [
function() {
var link;
link = function(scope, element, attr, ngModel) {
element.datetimepicker();
element.on('dp.change', function(event) {
// update ngModel ?
});
};
return {
restrict: 'A',
link: link,
require: 'ngModel'
};
}
]);
考虑到在调用事件时范围,元素,属性,ngModel不可用,如何在“ dp.change”事件中更新ngModel?
谢谢!
可以肯定的是,已添加到angular的任何插件都不会更新ng-model
angular范围的,我们需要在它的jquery
change事件上手动进行操作。在有角度的jquery中,插件应始终使用指令绑定到DOM,因为指令确实提供了对DOM的良好控制。
正如您在问题中所问的那样ngModel
,,element
和scope
对象在dp.change
事件内不可用datetimepicker
,我不认为这在指令链接函数内是可能的,您一定做了其他事情,或者您错过了问题的解释。
为了更新日期选择器的ng-model,您需要在dp.change
事件中添加以下代码
element.on('dp.change', function(event) {
//need to run digest cycle for applying bindings
scope.$apply(function() {
ngModel.$setViewValue(event.date);
});
});
在上面的代码中,我们从事件对象中检索了更新的日期,然后将其分配给的$viewValue
( 视图中的实际字符串值 )ng-model
,然后为了将其更新到ng-model
使用该变量的每个其他位置,我们需要使用$apply()
on指令手动运行摘要循环链接功能范围。运行摘要循环的原因是,我们需要将该值推送到ng-model
变量$modalValue
(控件绑定到模型中的值 )中。
我正在尝试执行一个更新,内容如下: 如果当前时间晚于拍卖结束时间(即非活动),则将表的列设置为。否则,设置为“1”。 我一直在犯这个错误。。 javax。servlet。ServletException:java。sql。SQLException:结果集关闭后不允许操作 我怎么去修理这样的东西?
问题内容: 给出: 给出: 是否有准备使用的库/代码来完成它? 问题答案: 您将无法使用JSON.stringify序列化事件对象,因为事件对象包含对DOM节点的引用,并且DOM在各处都有循环引用(例如,子/父关系)。JSON默认情况下无法处理这些,因此您有点不走运。
我是Gajarthan,我是jQuery的新手。如果用户未确认,我会尝试防止更改复选框。但当我第一次点击时它就不起作用了。点击第二次后,它正常工作。 这是我功能的总结 当我单击切换按钮时,它需要显示一个确认警报“你确定要继续吗?”如果我点击“是”。如果toggle inactive(非活动),则需要更改Active(活动)。如果toggle active,则需要更改inactive。如果我点击“否
问题内容: 我有一个类似ng-repeat =“(数据中的(键,值))的代码。在控制器中: 和ng-repeat指令为 输出按以下顺序排序 如何摆脱这种排序(奇怪),因为我想在代码中使用键。。我检查了google group,但使用两个存储键值的数组有一个小提琴。http://jsfiddle.net/Saulzar/puhML/3/b。不想采用这种方法。 问题答案: 这是JavaScript而不
问题内容: 问题: 我希望能够对 Angular 2中的指令 进行 单元测试,以确保它可以正确编译。 在Angular 1中,之后可以使用service和call 。我特别希望能够在单元测试中做到这一点,这样我就可以测试Angular最终在编译后的代码中运行了。 限制条件: 使用JAVASCRIPT的Angular 2 。所有有些相关的资源似乎都需要TS。也许这些资源确实可以解决问题,而我对TS的
与Java(以字符串形式)相比,您可以执行类似于。 那么,为了将多行代码写入一个常规文件,您将如何在Python中实现这一点呢?