Angularjs中的注意点

<!DOCTYPE html>
<html>
    <head>
         <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="stylesheet" href="bootstrap.min.css">
        <script src="jquery.min.js"></script>
        <script src="angular.min.js"></script>
        <script src="bootstrap.min.js"></script>
        <script type="text/javascript">
            angular.module('myapp', [])
            .directive('addBookBtn', function($compile) {
                return {
                    restrict: 'EA',
                    replace: true,
                    template: '<h3>Hello world</h3><h3>Hello world</h3>',
                    link: function(scope, elem, attrs) {
                    }
                };
            });
        </script>
        <style type="text/css">
        </style>
    </head>
    <body ng-app="myapp">
       <add-book-btn></add-book-btn>
    </body>

</html>

运行上面的代码报错Error: [$compile:tplrt]

原因是replace:true,此时要求template只有一个root element,但是template不符合要求。

所以要么replace:false,要么template改为<div><h3>Hello world</h3><h3>Hello world</h3></div>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AngularJS使用mock数据是一种常见的做法,可以帮助我们进行前端开发和测试。下面是一个简单的示例,演示如何在AngularJS使用mock数据。 首先,你需要创建一个mock数据文件,可以是一个JSON文件或JavaScript文件,来模拟接口返回的数据。例如,创建一个名为`mockData.js`的文件,内容如下: ```javascript angular.module('myApp') .value('mockData', { users: [ { id: 1, name: 'John' }, { id: 2, name: 'Jane' }, { id: 3, name: 'Bob' } ] }); ``` 接下来,在你的AngularJS应用,你可以使用`$httpBackend`来拦截请求并返回mock数据。例如,在你的控制器注入`mockData`服务,并使用`$httpBackend`拦截请求: ```javascript angular.module('myApp') .controller('UserController', function($scope, $httpBackend, mockData) { // 拦截/users请求并返回mock数据 $httpBackend.whenGET('/users').respond(mockData.users); // 发送实际的请求 $http.get('/users').then(function(response) { $scope.users = response.data; }); }); ``` 这样,当你发送一个GET请求到`/users`时,`$httpBackend`会拦截请求并返回mock数据。 最后,确保在你的应用加载mock数据文件和设置`ngMockE2E`模块。例如: ```javascript angular.module('myApp', ['ngMockE2E']) .run(function($httpBackend) { // 启用ngMockE2E来拦截请求 $httpBackend.whenGET(/.*/).passThrough(); }); ``` 这样,AngularJS应用就配置好了使用mock数据。 注意,这只是一个简单的示例,实际的应用可能涉及更复杂的场景和数据。 希望对你有所帮助!如果你有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值