AngularJS 具有隐藏功能的自定义指令
AngularJS custom directive with hide function
我正在尝试创建一个 AngularJS 自定义指令来隐藏变量中的元素。
例如,我从指令生成了三个 link:
- 首页
- 关于
- 隐藏
我想隐藏 "Hide" link.
这是我的观点:
<ul>
<menu link="Home"></menu>
<menu link="About"></menu>
<menu link="Hide"></menu>
</ul>
...指令:
app.directive('menu', function() {
return {
scope: {
link: "@"
},
template: '<li ng-hide="hideMenu(link)">{{link}}</li>',
controller: function($scope) {
var hideLink = 'Hide';
function hideMenu(link) {
if (hideLink == link) {
return true;
}
}
}
};
});
谢谢!
在指令 $scope.hideMenu = hideMenu;
中添加到您的控制器
app.directive('menu', function() {
return {
scope: {
link: "@"
},
template: '<li ng-hide="hideMenu(link)">{{link}}</li>',
controller: function($scope) {
var hideLink = 'Hide';
function hideMenu(link) {
if (hideLink == link) {
return true;
}
}
$scope.hideMenu = hideMenu;
}
};
});
要使您的函数在您的模板中可用,它必须在您的范围内。这是更新后的代码:
app.directive('menu', function() {
return {
scope: {
link: "@"
},
template: '<li ng-hide="hideMenu(link)">{{link}}</li>',
controller: function($scope) {
var hideLink = 'Hide';
$scope.hideMenu = function(link) {
if (hideLink == link) {
return true;
}
}
}
};
});
我正在尝试创建一个 AngularJS 自定义指令来隐藏变量中的元素。
例如,我从指令生成了三个 link:
- 首页
- 关于
- 隐藏
我想隐藏 "Hide" link.
这是我的观点:
<ul>
<menu link="Home"></menu>
<menu link="About"></menu>
<menu link="Hide"></menu>
</ul>
...指令:
app.directive('menu', function() {
return {
scope: {
link: "@"
},
template: '<li ng-hide="hideMenu(link)">{{link}}</li>',
controller: function($scope) {
var hideLink = 'Hide';
function hideMenu(link) {
if (hideLink == link) {
return true;
}
}
}
};
});
谢谢!
在指令 $scope.hideMenu = hideMenu;
app.directive('menu', function() {
return {
scope: {
link: "@"
},
template: '<li ng-hide="hideMenu(link)">{{link}}</li>',
controller: function($scope) {
var hideLink = 'Hide';
function hideMenu(link) {
if (hideLink == link) {
return true;
}
}
$scope.hideMenu = hideMenu;
}
};
});
要使您的函数在您的模板中可用,它必须在您的范围内。这是更新后的代码:
app.directive('menu', function() {
return {
scope: {
link: "@"
},
template: '<li ng-hide="hideMenu(link)">{{link}}</li>',
controller: function($scope) {
var hideLink = 'Hide';
$scope.hideMenu = function(link) {
if (hideLink == link) {
return true;
}
}
}
};
});