文件状态指令

时间:2016-04-09 09:52:48

标签: javascript angularjs angularjs-directive

我想创建一个指示文档状态的简单指令。我有这个东西,并通过控制器运行,没有指令。但我想创建一个可重用的指令。

Document Status Changed to Unsaved

Document Status New

它将具有以下状态:

  

1-新:2-未保存3-草案4-已发布

我创建了这个Plunk: http://plnkr.co/edit/sNoHGh4c4dgYycoDAhLQ?p=preview

我的指示不在表格之内。那么有什么方法可以从这样的指令访问它的状态:

$scope.mainform.$setSubmitted();

1 个答案:

答案 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();
  });
};

DEMO on PLNKR