我想写一个list利用directive来写一个item这个item要根据赋予的不同的值产生相应变化 但目前我只知道简单的数据赋值例如.directive('al-item', function() { return {
restrict: 'EA',
template: '
<div>'
+'</div>
',
replace: true,
controller: function($scope, $element, $attrs, $transclude) { //这里根据a、b、c 三者的值 进一步修饰al-item
}
};
})
<al-item a='' b='' c=''>我希望的形式 更像是<al-item object=''>这样提供一个object数据al-item就能实现我预定的样子请问这可以实现吗?
3 回答
慕容森
TA贡献1853条经验 获得超18个赞
你可以看下关于指令的 scope部分,可以解决你的疑问。
大概:
<div ng-controller="cc"><al-item object="obj"></al-item></div>
angular.module('xx', []) .controller('cc', ['$scope', function($scope) { $scope.obj = {a:'a', b:'b', 'c':'c'} }]) .directive('alItem', function() { return { restrict: 'EA', template: '<div>'+'</div>', replace: true, transclude: true, scope: { object: "=" }, controller: function($scope, $element, $attrs, $transclude) { //scope.object 这里就可以判断了 } }; })
大概这样吧 详细的可以看官方文档了
翻阅古今
TA贡献1780条经验 获得超5个赞
directive 的 scope 本身就支持三种模式
1. "=" 任何对象
2. "&" 外部的方法传入 directive 内部调用
3. "@" 字符串
- 3 回答
- 0 关注
- 550 浏览
添加回答
举报
0/150
提交
取消