美文网首页
Angular问题总结

Angular问题总结

作者: sponing | 来源:发表于2017-05-20 22:19 被阅读0次

    webpack遇到的几个坑
    第一 React.render 报错不是一个function 是因为1.5以上的react已经把react分成了react和reactdom两个文件需要

        npm install react --save-dev
    npm install react-dom --save-dev
    

    最后在页面上 要引入两个js文件

        <script src="src/react.js"></script>
        <script src="src/react-dom.js"></script>
    

    第二 报错 Cannot find module 'less'

    是因为没有安装less包
    npm install less --save-dev
    

    第三 运行了webpack成功但是不出效果 可能是 页面引用输出后的文件的路径不对查看output输出文件路径再查看js引入的路径

       output: {
        filename: "./build/build.js",
        path: __dirname
        }
    

    第四 Cannot find module 'babel-core'

    npm install babel-core --save-dev
    

    第五 Cannot find module 'gulp-webpack'

    npm install gulp-webpack --save-dev
    

    第六 didn't return a function

    第七 Cannot resolve module 'url-loader'

    npm install url-loader --save-dev
    

    第八 Cannot find module 'file-loader'

    npm install file-loader --save-dev
    

    第九 'webpack-dev-server' 不是内部或外部命令,也不是可运行的程序

    npm install -g webpack-dev-server  没有全局安装webpack-dev-server这个包 这是一个独立的包需要单独安装
    

    第十 实现保存后自动刷新页面 执行 webpack-dev-server --inline

    第十一 GulpUglifyError: unable to minify JavaScript

    可能js文件里面代码有错 通过
    uglify().on('error', function(e) {
            console.log(e);
        }
    

    打印错误信息 排查

    第十二 'SyntaxError: Unexpected token: punc ({)

    多了个大括号 删掉即可
    

    第十三 允许gulp server 之前把所有任务要把所有都先执行一遍

    gulp style script image html
    

    第十四 实现浏览器自动刷新

    在每个任务后面加上  .pipe(browserSync.reload({ stream: true }))
    同时 监视所有文件变化 触发对应的任务
    ```
     gulp.watch('css/*.less', ['style']);
    gulp.watch('js/*.js', ['script']);
    gulp.watch('images/*.*', ['image']);
    gulp.watch('*.html', ['html']);
    ```
    

    第十五 mongodb 开启服务报错

    Tue Nov 15 17:43:34.540 [initandlisten] exception in initAndListen: 12596 old lock file, terminating
    Tue Nov 15 17:43:34.542 dbexit:
    Tue Nov 15 17:43:34.543 [initandlisten] shutdown: going to close listening sockets...
    Tue Nov 15 17:43:34.544 [initandlisten] shutdown: going to flush diaglog...
    Tue Nov 15 17:43:34.545 [initandlisten] shutdown: going to close sockets...
    Tue Nov 15 17:43:34.546 [initandlisten] shutdown: waiting for fs preallocator...
    Tue Nov 15 17:43:34.553 [initandlisten] shutdown: closing all files...
    Tue Nov 15 17:43:34.555 [initandlisten] closeAllFiles() finished
    Tue Nov 15 17:43:34.561 dbexit: really exiting now
    
    
    解决方案 
    找到当前数据库对应的数据库文件
    删除掉后缀为.lock的文件
    

    第十六 angular模板绑定标签数据无法显示

    解决方案
    使用 $sce模块  ['$scope', '$http', '$sce']
    实用 $sce.trustAsHtml(要转换的属性) 
    通过遍历所有数据将需要显示的标签数据转换成angular能够识别的html编码
    通过ng-bind-html= 要显示的属性 切记这里绑定的时候不要带{{}} 同时要写在标签身上
    

    第十七 angular.js:13236 ReferenceError: $scope is not defined

    $scope 不存在 
    原因是没用引入$scope模块 或者没有写在回调函数的形参里面
    解决方案  ["$scope", "$http", "$sce", function($scope, $http, $sce) 
    在function 里面加上$scope形参
    

    第十八

    angular.js:13236 Error: [ngRepeat:iexp] Expected expression in form of '_item_ in _collection_[ track by _id_]' but got ''.
    问题 ng-repeat 属性里面没用写值 或者不是一个集合
    解决办法 给ng-repeat里面加上 item in collection
    

    第十九

    angular 里面的ng-repeat 里面想拿到循环遍历 的索引可以通过
    {{$index}} 拿到循环遍历的索引
    

    第二十

    angular 里面使用ajax传入参数的写 params 不是data
    params:{'titleid':0}
    

    第二十一

    angular路由传入多个参数的方式
    在app.js中写法
      when(
        '/online_show_list/:video_type/:factory/', 
        {
          templateUrl: 'statics/partials/online_show_list.html', 
          controller: OnlineShowListController
        }).
    

    第二十二

    angular路由的模板通过 ng-view属性去渲染 需要在主页放一个标签加上ng-view属性
    

    第二十三

    angular报错 TypeError: Cannot read property '1' of null
    at 
    

    原因是ng-controller="" 双引号里面没写控制器名字就会提示报错
    删除掉或者加上控制器名称就好了

    第二十四

    如果引用了route.js 并且angular 和 route的包都引入了发现路由没生效
    可能是主页body 没写ng-App="路由的APP名称" 或者是写错了
    

    第二十五

    angular.js:13236 Error: [$controller:ctrlfmt] Badly formed controller string ''. Must match `__name__ as __id__` or `__name__`.
    如果引用的模板ng-controller里面没有写内容就会报这个错
    解决方案 删掉ng-controller 或者加上控制器名字
    

    第二十六

    angular.js:13236 Error: [ng:areq] Argument 'fn' is not a function, got Object
    路由里面的控制器名称没有带引号
    解决方案就是把路由器使用到的控制器都带上引号
    

    第二十七

    angular.js:13236 Error: [ng:areq] Argument 'IndexController' is not a function, got undefined
    IndexController 这个控制器没有找到
    解决方案 就是路由里面的控制器名称和js里面定义的控制器名称是否一致
    如果路由里面的控制器名称和js里面定义的控制器名称 已经一致了有可能是模板里面使用的控制器和他们两个不一致
    

    第二十八

    如果请求了页面但是数据为空 可能是参数没有获取到
    这个 $routeParams 参数没加 或者写错了
    解决方案就在控制器里面加上 $routeParams 参数
    

    相关文章

      网友评论

          本文标题:Angular问题总结

          本文链接:https://www.haomeiwen.com/subject/fyzpxxtx.html