我一直在尝试为模式创建一个指令,但我发现一旦指令模板初始化,通过ui所做的进一步更改将不会导致它更新。它是每次显示的第一个缓存版本。
这是我的指令代码:
'use strict';
angular.module('sample')
.directive('modalPage', function ($timeout) {
return {
restrict: 'E',
templateUrl: 'directives/sampleTemplate.html',
scope: {
data: '='
},
link: build
};
function build(scope, element, attrs) {
scope.initData = function () {
// does something that changes the value of var
};
scope.$watch('data', function (value) {
if (value) {
scope.initData();
}
}, true);
}
});
我的模板sampletemplate.html如下所示:
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-body" style="padding:5px!important;">
<div class="card card-6">
<div class="card-heading">
<h2 class="title">{{ var }}</h2>
</div>
<div class="card-footer"></div>
</div>
</div>
</div>
</div>
指令将首先呈现模板页面(当var的值未更改时),然后ui交互导致数据更改,调用initdata并将新值分配给var。模式仍显示var的旧值。
我曾尝试使用$compile()并为var的更改设置超时,但两者都不起作用。以前的所有讨论也都不起作用。感谢您的帮助。提前谢谢你!
暂无答案!
目前还没有任何答案,快来回答吧!