Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.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-执行HTML/include_Javascript_Angularjs - Fatal编程技术网

Javascript-执行HTML/include

Javascript-执行HTML/include,javascript,angularjs,Javascript,Angularjs,我正在使用AngularJS设计一个用于搜索的小应用程序。我有一个当前为空的div,在运行一个函数后,它将替换为一个包含ng include的div。div替换得很好,但是ng include没有加载 我目前正在console中运行以下内容进行测试,以查看它是否正在运行。我该怎么做才能让它发挥作用呢?感谢您的帮助 document.getElementById("resultsDiv").innerHTML = '<div ng-include="" src=" \'sr.html\' "

我正在使用AngularJS设计一个用于搜索的小应用程序。我有一个当前为空的div,在运行一个函数后,它将替换为一个包含ng include的div。div替换得很好,但是ng include没有加载

我目前正在console中运行以下内容进行测试,以查看它是否正在运行。我该怎么做才能让它发挥作用呢?感谢您的帮助

document.getElementById("resultsDiv").innerHTML = '<div ng-include="" src=" \'sr.html\' "></div>';
document.getElementById(“resultsDiv”).innerHTML='';

阅读有关angularjs$compile函数的内容

我不知道为什么需要进行此JavaScript调用,但绝对不是“角度方式”。如果需要有条件地包含html,我建议使用
ng If
ng hide
ng show
甚至
ng开关

你可以这样做:

// somewhere in your controller 
$scope.triggerSomeInclude = true;

// in your template
<div ng-if="triggerSomeInclude">
    <div ng-include ="'someFile.html'"></div>
</div>
//控制器中的某个地方
$scope.triggerSomeInclude=true;
//在模板中
另一种方法是使用指令。它们是唯一可以直接选择元素的地方(尽管即使在那里,通常也不需要通过id选择元素)。但正如我所说的,很难确定最好的方法是什么,因为我不确定你想要实现什么

虽然您没有使用jQuery,但当您直接选择一个似乎完全脱离angular的$digest和$compile循环的元素时,您尝试执行的操作看起来非常jQueryesque(糟糕的单词),因此我还建议您阅读以下答案:

最后,我使用的方法是为ngInclude使用的示例创建模板

http://docs.angularjs.org/api/ng.directive:ngInclude
例如,在我的控制器内,默认情况下,它将设置以下内容:

$scope.mainDivTemplate = {url: 'partials/test1.html'}
如果我想把它切换到其他地方,我会调用一个看起来有点像这样的函数

$scope.loadHome = ->
    $scope.mainDivTemplate = {url: 'partials/home.html'}
    $scope.$apply()

我读了几遍,但是我没有看到在点击一个按钮后编译的有效方法(它将运行我的函数并最后编译)。你能举个例子吗?