Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在AngularJs中不计算表达式_Javascript_Angularjs_Angularjs Directive - Fatal编程技术网

Javascript 如何在AngularJs中不计算表达式

Javascript 如何在AngularJs中不计算表达式,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我希望一个指令有一个“template”属性,该属性将接受一个值,并在以后将其用作模板。但是,如果属性值包含角度表达式,则会在使用指令后立即对其求值。是否可以禁用属性的表达式计算 示例(): .directive('myDirective',function(){ 返回{ 范围:{ }, 限制:'E', 控制器:函数($scope、$element、$attrs){ $scope.name='Filip'; $attrs.$observe('templateAttribute',函数(值){

我希望一个指令有一个“template”属性,该属性将接受一个值,并在以后将其用作模板。但是,如果属性值包含角度表达式,则会在使用指令后立即对其求值。是否可以禁用属性的表达式计算

示例():


.directive('myDirective',function(){
返回{
范围:{
},
限制:'E',
控制器:函数($scope、$element、$attrs){
$scope.name='Filip';
$attrs.$observe('templateAttribute',函数(值){
$scope.templateAttribute=值;
});
},
模板:'template with expression:{{templateAttribute}'
};
});
我可以想象使用某种形式的逃跑:



您能解释一下为什么需要这个吗
ng include
或transclude提供了其他动态更改模板的方法。可以对元素使用,但如果您只想对1个属性使用此方法,则这似乎很复杂。我正在加载包含ng控制器的html代码段,我需要根据AJAX请求配置该控制器的范围。控制器代码是在外部js文件中定义的,所以配置作用域的唯一方法是在控制器内部放置一个自定义的“ng init”指令,它基本上初始化其父作用域(控制器的作用域)。在范围变量包含角度表达式之前,一切正常(例如,ng grid允许通过将模板设置为特定范围变量来配置单元格模板)。