angularjs $ sce未定义,使用angularjs 1.65

时间:2017-08-06 00:30:26

标签: angularjs

我正在使用angularjs 1.65版本 似乎$ sce让我不明确 我一直在尝试serval时间让它固定3个多小时。

这是模块:

var app = angular.module('myApp', ['ui.router','ngclipboard','oitozero.ngSweetAlert']);
app.config(function ($stateProvider, $urlRouterProvider, $locationProvider) {})

这是控制器:

 app.controller('monitormainController',
 ['$rootScope','$scope','$timeout','SweetAlert','$sce',  function
 ($scope,$timeout,$rootScope,$watch,SweetAlert,$sce) {

  $scope.copyset = function(name){ $scope.trustedHtml =
  $sce.trustAsHtml(name); };

 });

我收到错误消息,说明$ sce未定义

  

无法加载资源:服务器响应状态为404   (找不到文件)angular.js:14642 TypeError:无法读取属性   'trustAsHtml'未定义       在Scope。$ scope.copyset(monitormainController.js:93)       at fn(eval at compile(angular.js:15500),:4:153)       在回调(angular.js:27285)       在范围。$ eval(angular.js:18372)       在Scope。$ apply(angular.js:18472)       在HTMLButtonElement。 (angular.js:27290)       在HTMLButtonElement.dispatch(jquery.js:5095)       在HTMLButtonElement.elemData.handle(jquery.js:4766)

非常乐意得到任何答复,非常感谢你!

1 个答案:

答案 0 :(得分:2)

此处的依赖项顺序错误。您必须将数组中依赖项的顺序与函数中的参数完全匹配。此外,您在函数中期望$watch,但不包括在依赖项列表中。

修改:如果您打算使用$scope.$watch而不是您创建或安装的$watch服务,那么这不是可注射服务。因此,它不应作为函数参数传递。

而不是:

['$rootScope','$scope','$timeout','SweetAlert','$sce',  function
($scope,$timeout,$rootScope,$watch,SweetAlert,$sce) {

尝试:

['$rootScope','$scope','$timeout','SweetAlert','$sce',  function
($rootScope,$scope, $timeout, SweetAlert, $sce) {