在我更改控制器中的变量值并编译指令后,我仍然得到变量本身的旧值而不是new。理想情况下,我认为对于下面的代码,我应该得到“新价值”的结果,但我得到的是“旧价值”。请帮忙!
我的控制器:
app.controller("MainCont",['$compile', function($scope,$http,$compile){
$scope.var1 = false;
$changeName = function(){
$scope.var1 = true;
angular.element(someElement).append($compile("<new-dir></new-dir>")($scope));
}
}]);
我的指示
app.directive("newDir",function(){
var directive = {
restrict: 'E',
controller: 'MainCont',
link: function(scope,element){
if(!scope.var1){
console.log("Old Value");
}else{
console.log("New Value");
}
}
}
return directive;
})
答案 0 :(得分:0)
假设您有一个指令<new-dir></new-dir>
您可以使用var1
$changeName = function(){
$scope.var1 = true;
}
然后将此视图模板用作
<new-dir ng-if="var1"></new-dir>