为了账号安全,请及时绑定邮箱和手机立即绑定

Angular中的directive指令是否能接受object类型的赋值?

Angular中的directive指令是否能接受object类型的赋值?

慕雪6442864 2019-01-28 09:05:24
我想写一个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 这里就可以判断了
        }
    };
})

大概这样吧 详细的可以看官方文档了


查看完整回答
反对 回复 2019-03-17
?
翻阅古今

TA贡献1780条经验 获得超5个赞

directive 的 scope 本身就支持三种模式
1. "=" 任何对象
2. "&" 外部的方法传入 directive 内部调用
3. "@" 字符串

查看完整回答
反对 回复 2019-03-17
?
守着一只汪

TA贡献1872条经验 获得超3个赞

html里面的object也是一个attrs, 在function 里已经调入attrs,可以用attrs直接调用object。

查看完整回答
反对 回复 2019-03-17
  • 3 回答
  • 0 关注
  • 548 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信