angularjs指令' dataSource'而且=

时间:2014-08-08 12:22:12

标签: angularjs

这真的很奇怪。

不起作用

scope: { 'dataSource': '='}

作品

scope: { 'mySource': '='}

作品

scope: { 'data': '='}

任何人都可以告诉我为什么在第一个小提琴console.log打印未定义,并在第二个99。

http://jsfiddle.net/xz261bam/

http://jsfiddle.net/mg9axkro/

3 个答案:

答案 0 :(得分:6)

我认为你会为这个问题砸自己...... :)。

“data-”html5前缀被剥离,你在链接“source”中得到的东西不是“dataSource”:

angular.module('myApp', []).directive('myElement', function() {
    return {
        restrict: 'E',
        scope: {            
            'source': '=',            
        },
        template: '<p>test</p>',
        link: function(scope, iElement, iAttrs) {
            console.log(scope.source);
        }
    }
});

答案 1 :(得分:2)

如果您的名字使用数据 - 任何前缀,则显然与HTML data attribute存在冲突。 xdata-whatever或x-data-无论什么工作都很好

<my-element xdata-source="counter"></my-element

<my-element x-data-source="counter"></my-element

example

答案 2 :(得分:0)

与所有人说的一样,data-前缀被剥离,更改范围的属性名称将解决问题。

另一种方法是将data-前缀加倍,如下所示:

<my-element data-data-source="counter"></my-element>

JSFiddle: http://jsfiddle.net/4j3sks6u/