Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS自定义指令如何访问对象值?_Javascript_Angularjs_Angularjs Directive_Directive - Fatal编程技术网

Javascript AngularJS自定义指令如何访问对象值?

Javascript AngularJS自定义指令如何访问对象值?,javascript,angularjs,angularjs-directive,directive,Javascript,Angularjs,Angularjs Directive,Directive,这是我调用指令的html代码 <div ng-repeat="feat in templateAttributes track by $index"> <md-input-container flex="50"> <feat-directive feat="{{feat}}" /> </md-input-container> </

这是我调用指令的html代码

 <div  ng-repeat="feat in templateAttributes track by $index">
                <md-input-container flex="50"> 
                   <feat-directive feat="{{feat}}" />

                </md-input-container>

 </div> 
然后我像这样稍微修改代码

  link: function(scope, element, attr) 
并尝试使用JSON解析器

var feat1 = JSON.parse(attr.feat); 
在此更改之后,下面的代码将在inputbox中显示
{{feat.Value}}

<input type="text" id="{{feat.Name}}" value="{{feat.Value}}" ng-model="feat.Value" />

AngularJS指令创建自己的
范围
,您可以使用
范围隔离访问
父范围

您可以添加
范围
属性作为回报

return {
 restrict: 'E',
 scope: {
    feat: '=feat'
 }
 ...
}

如果属性和范围值相同,您不需要使用名称,只需使用
feat:'='
@maurycy,然后如何将其包含在任何建议中。我认为您可以
尝试feat:'='
而不是
feat:'=feat'
,带
=
符号的字符串表示
指令
@SanjayNishad中属性的
名称
,您的意思是
sureApp.directive('featDirective',function(){return{restrict:'E',scope:{feat:'=feat'},模板:
并删除
{}
要将作用域传递到指令,
链接:函数(作用域、元素、专长){
这是错误的,第三个参数用于元素的属性,所以它应该是:
链接:函数(作用域、元素、属性){
,然后是
attrs.feat
@maurycy我也尝试过了,它也有值
“{”Name:“DisplayName”数据类型“:”字符串“,”说明“:”显示名称“,”必填“:真“,”可编辑“:真“,”扩展“:假“,”MinLength“:3,“MaxLength“:100,“AllowedValues“:”值“:”}”
当尝试
访问attr.feat.AllowedValues
时,其未定义的调整将
更改为
,并且您应该很好。顺便说一句:据我所知,自动关闭指令没有得到完全支持(我不确定angular的最新版本)@maurycy根据您的建议更改后,我得到的属性值如下
$attr:Object feat:“feat”
<input type="text" id="{{feat.Name}}" value="{{feat.Value}}" ng-model="feat.Value" />
return {
 restrict: 'E',
 scope: {
    feat: '=feat'
 }
 ...
}