2013-12-11 49 views
3

我想了解如何在Angular中使用指令。在angularjs.org的示例中,值在JavaScript中的范围中设置,然后在匹配指令时引用该范围。将字符串直接传递给角度指令?

模板:

<my-customer info="naomi"></my-customer> 

范围:

.controller('Ctrl', function($scope) { 
    $scope.naomi = { name: 'Cat', address: '1600 Amphitheatre' }; 
    $scope.igor = { name: 'Dog', address: '123 Somewhere' }; 
    }) 

模板:

Name: {{customerInfo.name}} Address: {{customerInfo.address}} 

我想通过属性,直接从模板。所以在这个例子中我想写一个输出模板:

Name: Naomi 

没有经过一个范围。

回答

4

您可以使用linking functionattrs参数来完成此操作。

module.directive('name', function() { 
    return { 
    link: function (scope, element, attrs) { 
     console.log(attrs.info); 
     // <- 'naomi' 
    } 
    } 
}); 

然后在标记:

<name info='naomi'></name> 

See a live example

+1

冷静,我如何与模板属性使用它呢?模板:'名称:{{attrs.info}}'不起作用 – Himmators

+0

何时运行$ eval?在链接? – Himmators