如何从AngularJS函数返回html?

如何从AngularJS函数返回html?,html,angularjs,function,controller,Html,Angularjs,Function,Controller,我正在创建全新的AngularJS风格代码。我正在尝试以AngularJS格式重新创建现有站点 我终于想出了如何在一个外部文件中创建一个应用程序/控制器,并赋予控制器功能。然后,我可以让这些函数返回变量,特别是字符串,以在.html文件中填充信息,但当我使用html标记时,它们在.html文件中用作文本 我试图找出如何以类似的方式填充html模板,但html可以正常工作 在其他JS格式中,我可以写入文档/响应,或者至少让函数返回一个值,然后让原始JS/HTML将返回值写入HTML 我尝试在页脚中

我正在创建全新的AngularJS风格代码。我正在尝试以AngularJS格式重新创建现有站点

我终于想出了如何在一个外部文件中创建一个应用程序/控制器,并赋予控制器功能。然后,我可以让这些函数返回变量,特别是字符串,以在.html文件中填充信息,但当我使用html标记时,它们在.html文件中用作文本

我试图找出如何以类似的方式填充html模板,但html可以正常工作

在其他JS格式中,我可以写入文档/响应,或者至少让函数返回一个值,然后让原始JS/HTML将返回值写入HTML

我尝试在页脚中使用类似的方法,但是footer()有一个字符串需要显示在两行上

下面的示例代码(我将对其进行编辑,直到重要的部分): HTML:


{{Footer()}}

{{WebMaster()}}

应用程序/控制器:

var Universal = angular.module("Universal", []);

Universal.controller("UniversalController", ['$scope', function ($scope)
    {
        $scope.Footer = function()
        {
            $scope.vResult = "© Copyright 2012 All rights reserved<br>";    
            $scope.vResult += "House That Kamurai Built";
            return $scope.vResult;
        };

        $scope.WebMaster = function()
        {
            $scope.vResult = "Website managed by Kamurai.";
            return $scope.vResult;
        };
    }]);
var Universal=angular.module(“Universal”,[]);
Universal.controller(“UniversalController”,['$scope',函数($scope)
{
$scope.Footer=函数()
{
$scope.vResult=“©版权所有2012保留所有权利
”; $scope.vResult+=“卡穆莱建造的房子”; 返回$scope.vResult; }; $scope.WebMaster=function() { $scope.vResult=“由Kamurai管理的网站。”; 返回$scope.vResult; }; }]);
使用
ng bind html
在页面上显示html,但在此之前,您应该通过调用
$sce.trustAsHtml
方法将
html
设置为可信

$scope.Footer = function() {
    $scope.vResult = "© Copyright 2012 All rights reserved<br>";
    $scope.vResult += "House That Kamurai Built";
    return $sce.trustAsHtml($scope.vResult);
};
$scope.Footer=函数(){
$scope.vResult=“©版权所有2012保留所有权利
”; $scope.vResult+=“卡穆莱建造的房子”; 返回$sce.trustAsHtml($scope.vResult); };
Html

<p id="idFooterContent" 
  ng-controller="UniversalController" 
  ng-bind-html="Footer()">
</p>

建议:您可以将
ng controller=“UniversalController”
直接放置在表上,而不是 在页面上放置两次。我不知道你有什么特殊情况 带你去的


就像我说的,我对这个还不熟悉,所以我试着慢慢来。我将控制器放在一个元素上,这样做了,然后添加了第二个元素,所以我还没有讨论如何合并控制器。我知道我最终会有至少一个其他控制器,但我可能不得不发布另一个关于防止它们重叠的问题。谢谢你,但我一定是做错了什么,我似乎无法得到任何回报与你的建议。我会继续研究它,如果我能让它工作,我会把它标记为答案。@Kamurai你看过plunker演示链接了吗。。这可能有助于您更好地理解它,没错,我没有在plunket上查看您的.js文件,而是忘记像这样添加$sce:Universal.controller(“UniversalController”,“UniversalController”,“['$scope','$sce',function($scope,$sce)
<p id="idFooterContent" 
  ng-controller="UniversalController" 
  ng-bind-html="Footer()">
</p>