gpt4 book ai didi

AngularJS - 来自 Controller 的刷新指令

转载 作者:行者123 更新时间:2023-12-04 23:45:31 27 4
gpt4 key购买 nike

我有一个包含基于范围变量的 HTML 文件的指令。
第一次加载 HTML 时,一切都很好。但是当 ng-clic 更改范围变量时,我无法调用指令。

这是我的指令:

my.directive('myType', function() {
return {
restrict: 'A',
replace: true,
link: function($scope, element, attrs) {
var myHTML;
if ($scope.aType==1) myHTML = "aaaa";
if ($scope.aType==2) myHTML = "bbbb";

$scope.contentUrl = 'library/template/tmp-' + myHTML + '.html';
},
template: '<div ng-include="contentUrl"></div>'
}});

$scope.aType 是在 ng-click 上更改的范围变量。
提前致谢。

最佳答案

您需要添加 watch在 aType 或某种事件上使您的代码运行不止一次(在链接上):

像这样的东西:

link: function($scope, element, attrs) {       
$scope.$watch('aType', function(newVal, oldVal){
var myHTML;
if ($scope.aType==1) myHTML = "aaaa";
if ($scope.aType==2) myHTML = "bbbb";
$scope.contentUrl = 'library/template/tmp-' + myHTML + '.html';
});
}

JSFIDDLE .

关于AngularJS - 来自 Controller 的刷新指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29776236/

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