将基于类的对象传递给angular指令

时间:2015-01-16 17:29:22

标签: javascript angularjs angularjs-directive

我试图在angular中使用指令,我将基于类的对象作为参数传递。 当我说“基于类”时,​​我的意思是像这个例子中的函数对象:

var User = function() {};
var myUser = new User();

现在,我们假设myUser在我的控制器范围内,我有这个HTML。

<my:directive myUser="myUser" />

然后我定义了指令:

mainApp.directive('myDirective', [function() {
    return {
            scope: {
            myUser: '='
        },
        restrict: 'E',
        replace: true,
        templateUrl: 'partials/myDirective.html',
        controller: function($scope) {
            console.log($scope.myUser);
        }
    };
}]);

问题是,我没有在指令的控制器中看到myUser。

我最初指责我使用=声明参数的方式(它必须与对象一起使用,而我的对象却是function

所以我尝试用&改变它,但问题仍然存在。

有人可以帮帮我吗?我究竟做错了什么?甚至可以传递这种物体吗?

1 个答案:

答案 0 :(得分:2)

问题是如何在HTML中使用该属性。

而不是:

myUser="myUser"

应该是:

my-user="myUser"

演示: http://jsfiddle.net/0fgmham3/