有问题的指令是这个人: 基于属性的指令中的动态模板?
无论如何,这就是我想要完成的。
该<titlebar>
指令可以采用一个名为edit-button
. 如果存在,并且单击按钮时,我想在我的控制器中设置一个 $scope 变量,该变量将切换按钮的可见性以删除/编辑项目。
例如,如果我$scope.currentlyEditting = true;
在指令中设置,我会将其绑定到控制器,然后用于ng-show
显示/隐藏控件。我只是不确定如何将这些数据输入我的控制器。
标题栏指令:
robus.directive("titlebar", function() {
return {
restrict: "E",
template: "<header class='bar-title' ng-class='{\"sub-view\": view}'>"+
"<a class='button' ng-click='goBack()' ng-show='back'><i class='icon-arrow-left'></i> Back</a>" +
"<h1 class='title' ng-transclude>" +
"<span class='sub-title' ng-show='view'>{{view}}</span></h1>" +
"<a class='button' ng-click='showEdit()' ng-show='edit'>Edit</a>" +
"</header>",
scope: {
view: '@view',
edit: '@editButton',
back: '@backButton'
},
transclude: true,
replace: true,
link: function ($scope, $element, attrs, ctrl) {
// $scope.$apply();
},
controller: function($scope, $element, $attrs, $location, $routeParams) {
/* simple back button implementation */
$scope.goBack = function() {
history.back(-1)
}
// $scope.showEdit = function() {
// $scope.currentlyEditting = true;
// }
}
}
});