搜尋
首頁web前端js教程分享Bootstrap+angular實作豆瓣電影app實例
分享Bootstrap+angular實作豆瓣電影app實例Jun 27, 2017 am 10:51 AM
基於電影豆瓣

1、建立專案框架

npm初始化專案

npm init -y   //依預設設定初始化專案

安裝所需的第三方函式庫

#npm install bootstrap angular angular-route --save

#新建一個index.html頁面引用這三個依賴函式庫

##新兩個資料夾coming_soon in_theaters
然後在這兩個資料夾裡分別建立一個controller.js 檔案和view.html檔案
最後一個專案檔案的結構是這樣
 

2、建立首頁樣式

採用bootstrap
#該頁面的樣式
然後還需要引用這一個css檔
然後刪除一些不需要的標籤
最後形成的介面
到這邊後,專案的基本結構與樣式搭建完成
3、設定angular路由

到in_theaters下的controller.js檔案中寫上
(function(angular){'use strict';var module = angular.module('movie.in_theaters',['ngRoute']);
    module.config(['$routeProvider',function($routeProvider){
        $routeProvider.when('/in_theaters',{
            controller: 'inTheatersController',
            templateUrl: '/in_theaters/view.html'});
    }]);
    module.controller('inTheatersController',['$scope',function($scope){

    }]);
})(angular);
#在view.html寫上
<h1 id="正在热映">正在热映</h1>
到coming_soon下的controller.js 寫上
(function(angular){'use strict';var module = angular.module('movie.coming_soon',['ngRoute']);
    module.config(['$routeProvider',function($routeProvider){
        $routeProvider.when('/coming_soon',{
            controller: 'comingSoonController',
            templateUrl: '/coming_soon/view.html'});
    }]);
    module.controller('comingSoonController',['$scope',function($scope){

    }]);
})(angular);
#在view .html寫上
<h1 id="即将上映">即将上映</h1>
然後在js資料夾中新建一個app.js 寫上
(function (angular) {'use strict';var module = angular.module('movie', ['ngRoute', 'movie.in_theaters','movie.coming_soon' ]);
    module.config(['$routeProvider', function ($routeProvider) {
        $routeProvider.otherwise({
            redirectTo: '/in_theaters'});
    }]);
})(angular);
 
最後在index.html頁面body標籤加上指令

#在內容顯示模組中加上ng-view指令
#
<div>
 </div>
引用app.js
 <script></script>
最後瀏覽index.html
 

#說明一切配置正常
4、豆瓣API

 豆瓣API開發者文件 

這邊採用jsonp方式取得資料、
由於angular的jsonp方式豆瓣不支援、所以這邊自己封裝了一個jsonp元件
新一個components資料夾、在該資料夾下建立http.js檔案寫上
(function (angular) {'use strict';var http = angular.module('movie.http', []);
    http.service('HttpService', ['$window', '$document', function ($window, $document) {this.jsonp = function (url, data, callback) {var cbFuncName = 'jsonp_fun' +Math.random().toString().replace('.', '');
            $window[cbFuncName] = callback;var queryString = url.indexOf('?') == -1 ? '?' : '&';for (var key in data) {
                queryString += key + '=' + data[key] + '&';
            }
            queryString += 'callback=' + cbFuncName;var script = document.createElement('script');
            script.src = url + queryString;
            $document[0].body.appendChild(script);
        }
    }]);
})(angular);
然後在in_theaters資料夾下的controller.js加入對movie.http模組的依賴,並透過jsonp請求資料封裝到$scope.data中 
(function (angular) {'use strict';var module = angular.module('movie.in_theaters', ['ngRoute', 'movie.http']);
    module.config(['$routeProvider', function ($routeProvider) {
        $routeProvider.when('/in_theaters', {
            controller: 'inTheatersController',
            templateUrl: '/in_theaters/view.html'});
    }]);
    module.controller('inTheatersController', ['$scope', 'HttpService', function ($scope, HttpService) {
        console.log(HttpService);
        HttpService.jsonp('http://api.douban.com/v2/movie/in_theaters', {
            count: 10,
            start: 0}, function (data) {
            $scope.data = data;
            $scope.$apply();
            console.log(data);
        });
    }]);
})(angular);
#然後對應的view.html中修改成 
<h1 id="data-title">{{data.title}}</h1><div><a><span>{{item.rating.average}}</span><div>
<div><img  class="media-object lazy" src="/static/imghwm/default1.png" data-src="{{item.images.small}}" alt="分享Bootstrap+angular實作豆瓣電影app實例" ></div>
<div>
<h3 id="item-title">{{item.title}}</h3>
<p>类型:<span>{{item.genres.join('、')}}</span></p>
<p>导演:<span>{{d.name +($last?'':'、')}}</span></p>              </div>
</div></a></div>
對應的也在coming_soon資料夾下的controller.js中修改 
(function(angular){'use strict';var module = angular.module('movie.coming_soon',['ngRoute','movie.http']);
    module.config(['$routeProvider',function($routeProvider){
        $routeProvider.when('/coming_soon',{
            controller: 'comingSoonController',
            templateUrl: '/coming_soon/view.html'});
    }]);
    module.controller('comingSoonController',['$scope','HttpService',function($scope,HttpService){
        HttpService.jsonp('http://api.douban.com/v2/movie/coming_soon',{
            count:10,
            start:0},function(data){
            $scope.data=data;
            $scope.$apply();
        });
    }]);
})(angular);
對應的view .html 修改成
<h1 id="data-title">{{data.title}}</h1><div><a><span>{{item.rating.average}}</span><div>
<div><img  class="media-object lazy" src="/static/imghwm/default1.png" data-src="{{item.images.small}}" alt="分享Bootstrap+angular實作豆瓣電影app實例" ></div>
<div>
<h3 id="item-title">{{item.title}}</h3>
<p>类型:<span>{{item.genres.join('、')}}</span></p>
<p>导演:<span>{{d.name +($last?'':'、')}}</span></p>              </div>
</div></a></div>
最後別忘了在index.html最後引用
<script></script>
最後展示的效果為

 

# 專案到這邊已經完成的差不多了

 

##

以上是分享Bootstrap+angular實作豆瓣電影app實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
赛车电影《GT 赛车:极速狂飙》今日内地影院上映,烂番茄新鲜度 63%赛车电影《GT 赛车:极速狂飙》今日内地影院上映,烂番茄新鲜度 63%Sep 10, 2023 pm 08:33 PM

本站9月1日消息,热血赛车动作电影《GT赛车:极速狂飙》今日正式上映,影片由PlayStation游戏玩家成为职业赛车手的真实传奇经历改编,《第九区》导演尼尔・布洛姆坎普执导。本站注意到,《GT赛车:极速狂飙》烂番茄新鲜度63%,爆米花值98%;影视评分网站CinemaScore观众评分A,目前全球票房已突破5600万美元。影片讲述平凡游戏少年拼尽全力追逐遥不可及的赛车梦,在不被外界看好的情况下,凭借天赋、努力与热爱在生死一线的真实赛场上不断挑战极限,超越对手,最终成功从一个籍籍无名的游戏玩家变

《数码宝贝大冒险 02 THE BEGINNING》先行图公开,10 月 27 日在日本上映《数码宝贝大冒险 02 THE BEGINNING》先行图公开,10 月 27 日在日本上映Sep 04, 2023 pm 03:57 PM

本站9月1日消息,剧场版《数码宝贝大冒险02THEBEGINNING》全新先行图公开,将于10月27日在日本上映。本站注意到,该剧场版此前公布了预告片,除了大辅、V仔兽等主角团外,本作的主角小和田瑠衣首次登场。预告片中投影了《数码宝贝》系列开始的舞台“光丘”,从《数码宝贝大冒险》的主角八神太一和妹妹光的出现开始,“不可替代的”羁绊“被展现出来”。同时,还有天使兽、甲龙兽、天鹰兽等怀旧数码宝贝相继登场,还有帝王龙兽(龙模式)、妖精兽、噬光兽等剧情简介:这个世界充满了可能性。眼前呈现的几个世界时而给

《熊出没・逆转时空》概念预告公布,2024 大年初一上映《熊出没・逆转时空》概念预告公布,2024 大年初一上映Oct 27, 2023 pm 09:13 PM

本站10月27日消息,熊出没官方公布了《熊出没・逆转时空》概念预告,将于2024大年初一(2月10日)上映。本站注意到,《熊出没・逆转时空》是《熊出没》系列电影的第10部影片,由华强方特(深圳)动漫有限公司出品。从预告片可以看出,光头强从伐木工变成了在办公室的“打工人”,随着光头强戴着“神秘仪器”坐在座椅上,《熊出没之夺宝熊兵》、《熊出没之雪岭熊风》、《熊出没・奇幻空间》、《熊出没・原始时代》、《熊出没・狂野大陆》、《熊出没・重返地球》、《熊出没・伴我“熊芯”》等电影片段一闪而过。剧情简介:光头

手机电影《化境》即将上映:全片使用华为Pura70系列拍摄手机电影《化境》即将上映:全片使用华为Pura70系列拍摄Jul 16, 2024 pm 09:04 PM

7月15日消息,华为终端BG首席执行官何刚今日宣布,华为与赵小丁导演合作,共创的手机电影作品《化境》即将上映。他补充道:“自2019年我们携手金鸡电影节,启动‘华为影像·金鸡手机电影计划’以来,累计收到报名作品10000余部,多彩纷呈的作品让我看到了用手机拍摄电影所能达到的可能性与叙事深度。”从海报中可以看到,该电影宣传称“由华为Pura70系列拍摄”,海报为黑白风格。据了解,赵小丁是张艺谋的御用摄影师,曾在多部张艺谋执

《想不到鸭》80当后妈帮女主过上幸福生活通关攻略《想不到鸭》80当后妈帮女主过上幸福生活通关攻略Mar 12, 2024 pm 03:52 PM

想不到鸭是抖音很火的休闲闯关解谜游戏,关卡类型很多,其中80当后妈帮女主过上幸福生活是想不到鸭游戏关卡之一,具体怎么过关呢?今天本站网小编给大家带来了《想不到鸭》80当后妈帮女主过上幸福生活通关攻略分享,没有通关的朋友可以来看看具体过关方法,一起来看看吧!《想不到鸭》80当后妈帮女主过上幸福生活通关攻略80当后妈目标:帮女主过上幸福生活1、80当后妈帮女主过上幸福生活这一关先拖动行李箱到姐姐,然后拖动钱到下图所示的位置:2、右边,拖动针线、扫帚、锅铲到姐姐3、然后拖动钱到下图所示位置:4、然后拖

迪士尼新片《头脑特工队 2》预告片24小时内破纪录达1.57亿次播放量,超越《冰雪奇缘 2》迪士尼新片《头脑特工队 2》预告片24小时内破纪录达1.57亿次播放量,超越《冰雪奇缘 2》Nov 11, 2023 pm 12:33 PM

本站需要重写的内容是:11需要重写的内容是:月需要重写的内容是:11需要重写的内容是:日消息,迪士尼官方宣布,《头脑特工队需要重写的内容是:2》的预告片在需要重写的内容是:24需要重写的内容是:小时内获得了需要重写的内容是:1.57需要重写的内容是:亿次观看,超越了《冰雪奇缘需要重写的内容是:2》在需要重写的内容是:2019需要重写的内容是:年创下的记录(1.164需要重写的内容是:亿次)。皮克斯首席创意官皮特・道格特(Pete需要重写的内容是:Docter)表示:“我们很高兴有这么多人收看《头

《星际迷航》新电影官宣明年上映,今年秋季开拍《星际迷航》新电影官宣明年上映,今年秋季开拍Apr 12, 2024 pm 09:07 PM

本站4月12日消息,派拉蒙影业日前宣布,新一部《星际迷航》电影将于今年秋季开拍,预计明年上映。据悉,该片是一个起源故事,时间设定在2009年上映《星际迷航》的几十年前。该片由托比・海恩斯执导,赛斯・格雷厄姆-史密斯担任编剧,J・J・艾布拉姆斯的坏机器人制片公司制作。▲2009年上映《星际迷航》据本站了解,2009年上映《星际迷航》电影是由美国派拉蒙影业公司出品的科幻冒险片,由J・J・艾布拉姆斯执导,克里斯・派恩、扎克瑞・昆图、艾瑞克・巴纳、佐伊・索尔达娜等联合主演。该片根据1966年同名剧集改编

电影《坂本龙一:杰作》定档 5 月 31 日全国上映,记录其生前最后一场钢琴演奏音乐会电影《坂本龙一:杰作》定档 5 月 31 日全国上映,记录其生前最后一场钢琴演奏音乐会May 09, 2024 pm 03:55 PM

本网站5月9日消息,电影《坂本龙一:杰作》发布定档海报,确认将于5月31日全国上映,包含20首经典曲目,时长约103分钟。这部电影在北影节展映时就曾收获很高的热度与口碑,音乐流淌,重现生命乐章,斯人已逝,乐音不绝。本站注意到,这部电影将提供2D、CINITY、CINITYLED版本及杜比全景声版本供观众选择。日本著名作曲家、音乐制作人、歌手、演员、钢琴家坂本龙一先生于2023年3月28日在东京去世,享年71岁。为了深切缅怀和纪念这位世界级艺术家的传奇音乐生涯,导演空音央(本人为坂本龙一的孩子)记

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具