2014-10-06 55 views
1

如何使用一個陣列女巫在指令角指令PARAM值陣列

[ 
{ 
    "state": "bootstrap.formwizard.ethernet", 
    "placeHolder": "lNetworkConfWizardMenu", 
    "stepNumber": 1, 
    "next": "bootstrap.formwizard.datetime" 
}, 
{ 
    "state": "bootstrap.formwizard.datetime", 
    "placeHolder": "lDateSetWizardMenu", 
    "previous": "bootstrap.formwizard.ethernet", 
    "stepNumber": 2, 
    "next": "bootstrap.formwizard.countrysetting" 
}, 
] 

模板

<formprogressbar steps="wizardSteps" /> 

指令

angular.module('smaModules.formProgressbar', []) 

.directive('formprogressbar', function ($log) { 

    function linker(scope, element, attrs) { 
     console.log(scope); 
     test = attrs.steps[0] 
     console.log(test); 
    } 


    return { 
     restrict: 'E', 
     scope: { 
      steps: '=' 
     }, 
     template: 'Steps: {{ steps[0] }}', 
     link: linker 
    }; 
}); 
的接頭給出作爲指令的屬性

在模板中,我有權訪問但不在鏈接器函數中。怎麼了?

回答

1

您想訪問範圍內的步驟,使其與模板中的步驟相同。你也應該聲明你的變量以獲得最佳實踐。

.directive('formprogressbar', function ($log, $filter) { 

    function linker(scope, element, attrs) { 
     console.log(scope); 
     var test = scope.steps[0]; 
     console.log(test); 
    } 


    return { 
     restrict: 'E', 
     scope: { 
      steps: '=' 
     }, 
     template: 'Steps: {{ steps[0] }}', 
     link: linker 
    }; 
}); 

attrs.steps[0]可能是給你的'w'的結果,這是因爲attrs.steps是字符串"wizardSteps",字符串是'w'的第一指標。