我想实现一个指令,让我在元素上定义动物列表。如果用户喜欢所有这些动物,我想展示该元素;否则,我想隐藏它。理想情况下,我希望它看起来像这样:
<div animals="cat dog horse"></div>
正如您所看到的,这些动物是用空格分隔的,类似于您如何定义具有多个值的元素的类。
我提出的指令逻辑:
app.directive('animals ', function(userService) {
return {
restrict: 'A',
link: function (scope, element, attrs) {
// how to parse the attribute and get an array of animal strings?
var animalsArray = ... ?
if (userService.likesAllAnimals(animalsArray))
{
// show element
}
else
{
// hide element
}
}
};
});
但我不知道如何:
- 解析
animals
属性并从中派生animalsArray
。 - 显示和隐藏元素。
帮助?