Javascript 角度指令属性-对象属性未定义

Javascript 角度指令属性-对象属性未定义,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我在element指令中定义了一个object属性,它本身在ng repeat指令中定义: <div ng-repeat="element in array"> <my-directive el-sel="{{element}}> <something else> </my-directive> </div> 控制台结果如下: element:"{\"name\":\"a name\",\"href\"

我在element指令中定义了一个object属性,它本身在ng repeat指令中定义:

<div ng-repeat="element in array">
    <my-directive el-sel="{{element}}>
        <something else>
    </my-directive>
</div>
控制台结果如下:

element:"{\"name\":\"a name\",\"href\":\"#something\"}"
href: undefined
有人能解释一下这个行为和我做错了什么吗?

你把{{element}作为字符串传递-这就是{{variable}的作用

在短期内,这将解决这一问题:

console.log('href: ' + JSON.parse($attrs.elSel).href);
下面是将对象传递给指令的一个简单示例:

<div ng-repeat="element in array">
    <my-directive el-sel="{{element}}>
        <something else>
    </my-directive>
</div>
var-app=angular.module'app',[]; 应用程序控制器'MainCtrl',函数$scope{ $scope.something={ 名字:“一个名字”, href:“某处” }; }; 应用程序指令'myDirective',函数{ 返回{ 限制:'E', 范围:{ 埃尔塞尔:'=' }, 链接:函数$scope、$element、$attrs{ console.log$scope.elSel } } };
谢谢你,我会尽快接受你的回答,让我再问一个问题,有没有办法从ng repeat传递对象作为参考?因为如果没有大括号,它就不会给你一个例子来编辑我的答案。进一步阅读您是否尝试解析console.log$attrs.elSel;只需检查数据,无论该对象是以字符串形式出现还是以其他数据类型出现。