将TextAngular集成到已使用AngularJS的应用程序中

时间:2014-02-23 20:06:15

标签: c# javascript html asp.net-mvc angularjs

我正在尝试将TextAngular集成到我的网站中。

我已经将AngularJs和UI指令用于其他功能,这些工作正常,但是当我尝试添加TextAngular时,一切都会崩溃并死掉。

我在Javascript文件的顶部注册我的模块,这是在TextAngular和AngularJS之后添加的,我在这里为TextAngular添加了代码:

angular.module('myApp', []);
angular.module('myApp', ['ui.bootstrap']);
//The above works for ui directives, I added this
angular.module('myApp', ['textAngular']);

我添加了一个文本角度的包:

bundles.Add(new ScriptBundle("~/bundles/textAngular").Include(
"~/Scripts/textAngular.js"));

这是我的编辑代码:

<div ng-controller="wysiwygeditor" class="container app"">
    <h1>Editor</h1>
    <div text-angular="text-angular" name="htmlcontent" ng-model="htmlcontent"></div>
    <textarea ng-model="htmlcontent" style="width: 100%"></textarea>
    <div ng-bind-html="htmlcontent"></div>
    <div ta-bind="text" ng-model="htmlcontent"></div>
    <button type="button" ng-click="htmlcontent = orightml">Reset</button>
</div>

@Scripts.Render("~/bundles/textAngular")

<script type="text/javascript">
    function wysiwygeditor($scope) {
        $scope.orightml = '<h2>Try me!</h2>';
        $scope.htmlcontent = $scope.orightml;
    };
</script>

这是局部视图,_Layout页面包含很多twitter bootstrap内容。

就像我说的那样,AngularJS和UI指令运行良好,但是当我尝试连接TextAngular时,它只是不想工作。

我在Chrome中遇到的错误有点神秘:

  

错误:[$ sce:unsafe]试图在保险箱中使用不安全的值   上下文。 errors.angularjs.org/1.2.2/$sce/unsafe
      at localhost:25332 / Scripts / angular.js:78:12
      在htmlSanitizer localhost:25332 / Scripts / angular.js:12162:13
      在getTrusted localhost:25332 / Scripts / angular.js:12329:16
      在Object.sce.anonymous函数[as getTrustedHtml] localhost:25332 / Scripts / angular.js:13027:16
      at Object.ngBindHtmlWatchAction [as fn] localhost:25332 / Scripts / angular.js:16993:25
      在Scope。$ digest localhost:25332 / Scripts / angular.js:11501:27
      在Scope。$ apply localhost:25332 / Scripts / angular.js:11740:24
      在localhost:25332 / Scripts / angular.js:1297:15
      at Object.invoke localhost:25332 / Scripts / angular.js:3633:25
      在doBootstrap localhost:25332 / Scripts / angular.js:1295:14

我在这里做错了什么?如果您需要查看更多代码,请发表评论。

由于

2 个答案:

答案 0 :(得分:1)

您是否尝试过添加'textAngular-sanitize.js'文件: https://github.com/fraywing/textAngular#usage

此文件旨在替换使用textAngular的项目中的“angular-sanitize.js”。 这是因为angular-sanitize.js(ngSanitize)太严格了,无法满足textAngular的需求: https://github.com/fraywing/textAngular#where-to-get-it (有一个注释)

答案 1 :(得分:0)

尝试在您的应用中添加 ngSanitize 作为依赖项。

此处您有更多信息:http://docs.angularjs.org/api/ngSanitize