Angular JS - Directive
3 bindings
2-way binding “=”
function MyDirective() {
var ddo = {
scope: {
myProp: '=attributeName'
}
...
};
return ddo;
}
<!-- index.html -->
<my-directive attribute-name="outerProp">
</my-directive>
<!-- directive.html -->
<p>{{my-prop}}</p>
所有对attribute-name或者my-prop的改动,两个html里都会做同步修改
1-way binding “<” and “@”
function MyDirective() {
var ddo = {
scope: {
prop: '<',
},
...
};
return ddo;
}
与上面不同,这里只有index.html才能修改prop。
function MyDirective() {
var ddo = {
scope: {
prop: '@',
},
...
};
return ddo;
}
这里prop就只能绑定index.html里的属性变量,如下
<my-directive my-attribute="{{outerProp}}">
</my-directive>
可见my-attribute里面不能有变量(例如controller或者controller的成员)。而且和’<’类似,’@’也是单向的。