gpt4 book ai didi

javascript - Angularjs-阅读更多自定义指令不适用于 ng-bind-html 指令

转载 作者:太空狗 更新时间:2023-10-29 14:38:23 25 4
gpt4 key购买 nike

这些是我的自定义指令,用于阅读更多内容和 to_trusted(用于转换为 html)。

psp.directive('hmRead', function () {
return {
restrict:'AE',
scope:{
hmtext : '@',
hmlimit : '@',
hmfulltext:'@',
hmMoreText:'@',
hmLessText:'@',
hmMoreClass:'@',
hmLessClass:'@'
},
templateUrl: 'partials/common/read-more.html',
controller : function($scope){
$scope.toggleValue=function(){

if($scope.hmfulltext == true)
$scope.hmfulltext=false;
else if($scope.hmfulltext == false)
$scope.hmfulltext=true;
else
$scope.hmfulltext=true;
}
}
};
});

psp.filter('to_trusted', ['$sce', function($sce){
return function(text) {
return $sce.trustAsHtml(text);
};
}]);

在 html 中调用。

 <hm-read hmtext="{{data.content}}" ng-bind-html="data.content| to_trusted" hmlimit="100" hm-more-text="read more" hm-less-text="read less"></hm-read>

如果我删除 ng-bind-html 然后阅读更多工作正常但 ng-bind-html 指令 readmore 指令不是工作。

最佳答案

作为Read-More 指令,您的指令逻辑有点不清楚,尤其是在您的指令中使用templateUrlhmfulltext 参数和ng-bind-html

顺便说一句,我在你的指令中通过假模板使用了你的指令:

template: '<p>template that is set in your directive</p>',

和伪造的内容范围变量如下:

$scope.data={};
$scope.data.content = '<p>template that passed into directive</p>';

通过这个伪造的模板,你的指令可以正常工作

Online Execution

它表明问题出在 'partials/common/read-more.html' 模板或 data.content 范围变量中。您可以在这些地方查找错误。

关于javascript - Angularjs-阅读更多自定义指令不适用于 ng-bind-html 指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30477090/

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