0

我想在一个标签中同时呈现模板文件(视图 + 控制器)和多个 html 字符串。- 所以我有一些字符串,比如

<p>some text</p>

和 html 文件 + 控制器之类的

template.html + template.controller.js

我想将字符串和 template.html 渲染到一个标签中。

我已经连接了 html 字符串,并且可以使用

<div ng-bind-html="template" ..></div>

我可以序列化 html 文件并在 ng-bind-html 中呈现它吗?这些文件有自己的控制器:

<div ng-controller="sampleCtrl">

他们会失去功能吗?

注意:元素的顺序很重要!!!例如,我想渲染字符串,然后是文件的内容,然后再渲染一个字符串。

非常感谢!

4

1 回答 1

2

您应该使用指令。这将允许您加载带有关联 js 文件的 html 文件。您可以在指令中设置 scope.someText 并在视图中调用它,例如

 <p>{{someText}}</p>

指示:

var app = angular.module('myApp');

app.directive('someTextDirective', function(){
    return{
         restrict: 'E',
         templateUrl: 'path/to/html/file.html',
         link:function(scope){
              scope.someText = 'blah';
         }
    }
});

只需在您的 html 中调用该指令:

<some-text-directive></some-text-directive>

希望这可以帮助。如果我不清楚,请告诉我,我会尽力澄清。

于 2015-06-17T15:32:02.710 回答