在angular中引入编辑器的时候花了很长时间,然后发现自己以前根本就没好好用过angular,因为项目是接手的学姐的,学姐又是接手的学姐的,到我这里就只是写写页面的事了。
引入编辑器差了好多好多资料,因为controller这个东西卡住了好久好久,前几天看了两节angualr的视频才有一点点的接触到controller,然后今天理解了一下下就搞出来了,其中遇到过的报错,不只有一下三种。。。时间跨度太久,没有记录下了。
1.项目中找不到angular-cli.json,也找不到angular.json
查到引入tinymce编辑器时,要配全局访问?然后就是找不到这个文件,我查了一下项目的版本好像是v1.5.0。得再研究下子。。。。
2.
后来全局安装tinymce,添加控制器我真的搞了好久,教程是写在js里,我找了好久才发现这个项目的控制器写在哪里。
教程一般都是这样写的:
var app = angular.module('app', ['ui.tinymce'])
app.controller("editorController", function( $scope ) {
$scope.tinymceOptions = {
//配置回调的事件
handle_event_callback : function(e) {
console.log(e);
}
};
$scope.tinymceModel = "niceMCE"//初始化绑定的值
}); 声明一个模块,模块里声明控制器。我先是直接在我项目中的js文件中写的如上,然后html绑定这个控制器,控制台就会报错找不到这个控制器。
我以前以为绑定这个控制器跟我项目中引入的promptBox一样,这个写在congfig.js文件下,于是我换了个思路把上上面那段代码也写在这个文件里,显然还是不行的。
今天在绑定模块ng-app时才发现在index.html中已经包含了一个ng-app,同时这个目录下的app.js文件下那个一直存在但我不明白的变量GNAR的定义方法就是以定义模块的方法定义的。
然后查资料,说angularjs 中只能有一个模块module(ng-app=""),一个模块可以有多个控制器(ng-controller="")
今天才找到的,GNAR原来就是项目里添加过的模块。于是我把ui.tinymce加到了app.js中定义GNAR的地方。
3.
然后在页面中对应的js文件中,我也琢磨了一会,项目中配置对应js的时候是这样配置的:
我原本把‘editorController’加到了上代码的[ ]中,于是就报错了。查资料好像是引入了多个控制器,或者在控制器中引入了控制器。
我才想起在配置路由的时候,已经加了控制器,就叫‘’中的名字,我 在后面写‘editorController’应该就是把控制器写到了控制器里。
于是我才转过来,直接把引入编辑器之后的写在了后面的fanction中,就成功了!
我还要好好看一下控制器,搞这么久就说因为控制器都不了解,之前都没有研究过angular,上面可能理解还不对,但是引入还是成功了。
成果参考:
不明提供者的错误可能汇总:
https://blog.csdn.net/victoryzn/article/details/81302150
AngularJS中的Provider们:Service和Factory等的区别:
https://segmentfault.com/a/1190000003096933?utm_source=tag-newest
引入编辑器:
https://www.cnblogs.com/diligenceday/p/4181982.html