我可以将对象发送到隔离范围' @'属性

时间:2015-06-09 13:47:20

标签: angularjs angularjs-directive angularjs-scope

我有一个接受对象作为参数(属性)的指令。我将链接函数中的数据作为字符串获取。有没有办法在属性中接收数据作为保留@的对象,而不在链接中使用eval或JSON.parse()

指令代码:

module.directive('example', function () {
    return {
        scope: {
            object: '@'
        }
        link: function ($scope) {
            console.log($scope.object);
        }
    }
});

HTML code:

<example object="{{sampleObject}}"></example>

控制器代码:

module.controller('exampleCtrl', function ($scope) {
    $scope.sampleObject = {
        name: 'name',
        width: 100,
        height: 100
    };
})

1 个答案:

答案 0 :(得分:0)

不,你不能。 “@”绑定的结果始终是一个字符串,因为这样就可以绑定DOM属性的值。请参阅documentation

如果您正在寻找避免双向数据绑定的方法,请使用“&amp;”表达