将对象传递给angularjs中的指令属性

时间:2018-02-28 05:48:10

标签: html angularjs

我有一个创建模态的指令。我试图通过属性将对象传递给该指令。

 <modal-dialog model="viewSummaryDialog" info="{{info}}"></modal-dialog>

我正在通过这样的属性检索它

return {
  restrict: 'E',
  scope: {
    model: '=',
    info:'@',
  },
  link: function(scope, element, attributes) {
   scope.info=scope.$eval(attributes.info);

在我的HTML信息中是一个具有不同文本字段和下拉列表的ng模型的对象 我的问题是信息没有用我在文本字段中输入的任何内容进行更新。我只获得自动选择的指令中我的信息对象中的下拉值。我明白这是因为甚至在我输入任何内容之前就调用了链接函数在文本字段中。 有没有办法确保只有在我输入表单中的所有字段后才传递我的info对象?我不太清楚如何将一个对象传递给该指令。我在我的指令中尝试使用resolve函数但是没有用。

提前致谢: - )

1 个答案:

答案 0 :(得分:0)

将对象传递给指令

var myApp = angular.module('myApp',[]);

myApp.directive('passObject', function() {
    return {
        restrict: 'E',
        scope: { object: '=' },
        template: '<div>Hello, {{object.prop}}!</div>'
    };
});

myApp.controller('MyCtrl', function ($scope) {
    $scope.object = { prop: "world" };
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.5/angular.min.js"></script>
<div ng-app="myApp" ng-controller="MyCtrl">
    <pass-object object="object"></pass-object>
</div>