在custom指令中使用bool表达式

时间:2016-05-19 15:08:53

标签: angularjs angularjs-directive

HTML

<div ng-image="Content/Images/Items/{{item.Name}}.png" ng-flag="item.Name == true">

JS

application.directive('ngImage', function() {
return {
    scope: {
        ngFlag: '@'
    },
    link: function(scope, element, attrs) {
        var use = attrs.ngFlag;

        element.css({
            'background-image': 'url(' + attrs.ngImage + ')',
            'background-size': 'cover'
        });
    }
}
})

var“use”是“item.Name == true”,但我希望得到false / true。怎么做?

2 个答案:

答案 0 :(得分:0)

使用插值运算符{{}},就像在其他属性中一样。

ng-flag="{{item.Name == true}}"

答案 1 :(得分:0)

最好使用ng-style代替自定义指令

控制器:

$scope.getStyles = function(item) {
    if (item.Name){
        return {
            'background-image': 'url(Content/Images/Items/' + item.Name +'.png)',
            'background-size': 'cover'
        }
    }
}

HTML:

<div ng-style="getStyles(item)"></div>