gpt4 book ai didi

javascript - 将变量的值传递给 angularjs 指令模板函数

转载 作者:可可西里 更新时间:2023-11-01 01:59:15 25 4
gpt4 key购买 nike

我试图将 $scope 的变量传递给指令,但它不起作用。我在模板函数中捕获变量:

app.directive('customdir', function () {

return {
restrict: 'E',

template: function(element, attrs) {
console.log(attrs.filterby);
switch (attrs.filterby) {
case 'World':
return '<input type="checkbox">';
}
return '<input type="text" />';
}
};
});

我需要的是变量 filterby 的值,而不是变量名本身。

Plunkr Demo

最佳答案

或者像这样

app.directive('customdir', function ($compile) {
var getTemplate = function(filter) {
switch (filter) {
case 'World': return '<input type="checkbox" ng-model="filterby">';
default: return '<input type="text" ng-model="filterby" />';
}
}

return {
restrict: 'E',
scope: {
filterby: "="
},
link: function(scope, element, attrs) {
var el = $compile(getTemplate(scope.filterby))(scope);
element.replaceWith(el);
}
};
});

http://plnkr.co/edit/yPopi0mYdViElCKrQAq9?p=preview

关于javascript - 将变量的值传递给 angularjs 指令模板函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20810862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com