Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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$compile不';t删除双卷曲表达式_Javascript_Angularjs - Fatal编程技术网

Javascript AngularJS$compile不';t删除双卷曲表达式

Javascript AngularJS$compile不';t删除双卷曲表达式,javascript,angularjs,Javascript,Angularjs,AngularJS应该在编译后删除双大括号。但是,在这种情况下不会进行移除: // testController is defined first var html = "<div id='test' ng-controller='testController'>{{name}}</div>"; var $compile = angular.element("html").injector().get("$compile"); var link = $compile(h

AngularJS应该在编译后删除双大括号。但是,在这种情况下不会进行移除:

// testController is defined first
var html = "<div id='test' ng-controller='testController'>{{name}}</div>"; 
var $compile = angular.element("html").injector().get("$compile");
var link = $compile(html);
var content = link(angular.element("#view").scope());
$("#view").append(content);
这将更新HTML,将
{{name}}
替换为“John Smith”


如果我不使用这种动态方法,只编写静态HTML,AngularJS会在编译后正确地删除双卷曲表达式。我必须做些特殊的事情吗?

如果触发代码的是外部事件,请在链接后尝试在您的作用域上运行
$digest
$apply

e、 g


实际上没有什么区别,但最好将处理程序包装到
$apply
中的外部事件中,例如
elem.click(function(){$scope.$apply(function(){/*code here*/});})
var model = angular.element("#test").scope();
model.$apply(function (scope) { scope.name = "John Smith"; });
elem.click(function() {
    $scope.$apply(function() {
        // code here
    });
});