我想创建一个指示文档状态的简单指令。我有这个东西,并通过控制器运行,没有指令。但我想创建一个可重用的指令。
它将具有以下状态:
1-新:2-未保存3-草案4-已发布
我创建了这个Plunk: http://plnkr.co/edit/sNoHGh4c4dgYycoDAhLQ?p=preview
我的指示不在表格之内。那么有什么方法可以从这样的指令访问它的状态:
$scope.mainform.$setSubmitted();
答案 0 :(得分:0)
在指令中,将函数发布在由属性定义的范围变量上。
angular.module("myApp").directive('once', function() {
return {
scope: {
//publish API
onceAPI: '=once'
},
link: function(scope, elem, attrs) {
scope.onceAPI = scope.onceAPI || {};
//publish function
scope.onceAPI.setPostComplete = function() {
console.log("post complete")
scope.onceAPI.isPosted = true;
}
}
};
});
USAGE
<div once="vm.onceAPI"></div>
CONTROLLER
vm.submit = function(){
$scope.mainform.$setSubmitted();
var postData = {in1: vm.in1};
$http.post(url,postData).then(function() {
vm.onceAPI.setPostComplete();
});
};