我有一个使用父作用域数据的指令。现在,我希望在其中包含一个属性,但仍希望使用父作用域,而不是将所有其他数据传输到更多属性和重复对象中。
var myDirective = function () {
return {
restrict: 'A',
templateUrl: '/Areas/GetAdvice/Templates/Directives/loan-comparison-table-directive.html?1',
//scope: - Don't add anything here to use the scope of the parent
// But how to use an attribute in this way?
controller: [
'$scope', function ($scope) {
// Some Code
}
}
那么,当父范围继承时,如何在指令中添加属性(自变量)?
修改 我只想要一个简单的布尔属性 - 类似于isDescriptionVisible(true / false)。问题是我在我的视图中使用了两次相同的指令,所以我不能在父作用域中有一个变量,因为它会影响两个指令,我不会单独控制它们。
答案 0 :(得分:0)
您需要为指令创建一个隔离的范围。这是它的确切用例。否则,您需要创建单独的变量来跟踪父范围中的布尔值。
如果您不需要从父作用域传递布尔值,则可以执行以下操作:
var myDirective = function () {
return {
restrict: 'A',
templateUrl: '/Areas/GetAdvice/Templates/Directives/loan-comparison-table-directive.html?1',
scope: {}
controller: [
'$scope', function ($scope) {
$scope.isVisible = false;
}
}
如果您需要从父作用域传递它,只需替换
即可scope: {}
与
scope: {
isVisible: '='
}