Angularjs自动保存指令
2014年9月6日 · 66 字 · 1 分钟
angularjs的指令真是好东西,也是精髓。刚才群里面有朋友在问如何在用户离开编辑区域时提醒保存,其实用指令实现很简单的。
请注意,这里使用的指令标签为ajax-submit
app.directive('ajaxSubmit', [
'$http', function($http) {
return {
link: function(scope, ele, attrs) {
var old = ele.val();
ele.bind('blur', function() {
var url = ele.data('url');
var val = ele.val();
ele.prop('disabled', true);
//发送http
$http.post(url, {
data: val
}).success(function(data) {
ele.prop('disabled', false);
if (data.msg != undefined) {
old = val;
ele.after('操作成功');
setTimeout(function() {
ele.next().remove();
}, 1000);
}
else {
alert(data.error);
}
});
});
}
}
}
]);
关键是利用指令的link函数获取包装后的jq元素,然后给该元素进行事件绑定,其实很多的事件绑定都是这样做的。事件处理函数中的业务逻辑各位看官可以自行修改~。