<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                這個原文為:Event Handlers。 具體什么意思,我們不管了。看看想達到的效果吧。 http://guide.mengyunzhi.com/angular-phonecat/app/#!/phones/motorola-atrix-4g ![](https://box.kancloud.cn/2016-08-04_57a30c4509bd5.png) 點擊右側的圖片,左側顯示圖片的大圖。示例中的動畫效果,我們將放在第十四章實現,本節僅實現點擊后,顯示相應的大圖。 ## 重構頁面 使用bootstrap的柵格系統,我們首先對頁面進行重構,讓它看起來更接近我們的示例站點。 ![](https://box.kancloud.cn/2016-08-04_57a30c4533284.png) `yun-zhi/phone-detail.template.html` ~~~ <div class="container-fluid"> <div class="row"> <div class="col-md-4"></div> <div class="col-md-8"></div> </div> <div class="row"> <div class="col-md-2"></div> <div class="col-md-2"></div> <div class="col-md-2"></div> <div class="col-md-2"></div> <div class="col-md-2"></div> <div class="col-md-2"></div> <div class="col-md-2"></div> <div class="col-md-2"></div> <div class="col-md-2"></div> </div> </div> ~~~ 重新整理元素 ~~~ <div class="container-fluid"> <div class="row"> <div class="col-md-4"> <img ng-src="{{$ctrl.phone.images[0]}}" class="phone img-responsive img-rounded" /> </div> <div class="col-md-8"> <h1>{{$ctrl.phone.name}}</h1> <p>{{$ctrl.phone.description}}</p> <div class="row"> <div class="col-md-2" ng-repeat="img in $ctrl.phone.images"> <img ng-src="{{img}}" class="img-thumbnail" /> </div> </div> </div> </div> <div class="row"> <div class="col-md-2"> <h4>Availability and Networks</h4> <dl> <dt>Availability</dt> <dd ng-repeat="availability in $ctrl.phone.availability">{{availability}}</dd> </dl> </div> <div class="col-md-2"> <h4>Availability and Networks</h4> <dl> <dt>Availability</dt> <dd ng-repeat="availability in $ctrl.phone.availability">{{availability}}</dd> </dl> </div> <div class="col-md-2"> <h4>Battery</h4> <dl> <dt>Type</dt> <dd>{{$ctrl.phone.battery.type}}</dd> <dt>Talk Time</dt> <dd>{{$ctrl.phone.battery.talkTime}}</dd> <dt>Standby time (max)</dt> <dd>{{$ctrl.phone.battery.standbyTime}}</dd> </dl> </div> <div class="col-md-2"> <h4>Storage and Memory</h4> <dl> <dt>RAM</dt> <dd>{{$ctrl.phone.storage.ram}}</dd> <dt>Internal Storage</dt> <dd>{{$ctrl.phone.storage.flash}}</dd> </dl> </div> <div class="col-md-2"> <h4>Connectivity</h4> <dl> <dt>Network Support</dt> <dd>{{$ctrl.phone.connectivity.cell}}</dd> <dt>WiFi</dt> <dd>{{$ctrl.phone.connectivity.wifi}}</dd> <dt>Bluetooth</dt> <dd>{{$ctrl.phone.connectivity.bluetooth}}</dd> <dt>Infrared</dt> <dd ng-bind-html="$ctrl.phone.connectivity.infrared | checkmark"></dd> <dt>GPS</dt> <dd ng-bind-html="$ctrl.phone.connectivity.gps | checkmark"></dd> </dl> </div> <div class="col-md-2"> <h4>Android</h4> <dl> <dt>OS Version</dt> <dd>{{$ctrl.phone.android.os}}</dd> <dt>UI</dt> <dd>{{$ctrl.phone.android.ui}}</dd> </dl> </div> <div class="col-md-2"> <h4>Size and Weight</h4> <dl> <dt>Dimensions</dt> <dd ng-repeat="dim in $ctrl.phone.sizeAndWeight.dimensions">{{dim}}</dd> <dt>Weight</dt> <dd>{{$ctrl.phone.sizeAndWeight.weight}}</dd> </dl> </div> <div class="col-md-2"> <h4>Display</h4> <dl> <dt>Screen size</dt> <dd>{{$ctrl.phone.display.screenSize}}</dd> <dt>Screen resolution</dt> <dd>{{$ctrl.phone.display.screenResolution}}</dd> <dt>Touch screen</dt> <dd ng-bind-html="$ctrl.phone.display.touchScreen | checkmark"></dd> </dl> </div> <div class="col-md-2"> <h4>Hardware</h4> <dl> <dt>CPU</dt> <dd>{{$ctrl.phone.hardware.cpu}}</dd> <dt>USB</dt> <dd>{{$ctrl.phone.hardware.usb}}</dd> <dt>Audio / headphone jack</dt> <dd>{{$ctrl.phone.hardware.audioJack}}</dd> <dt>FM Radio</dt> <dd ng-bind-html="$ctrl.phone.hardware.fmRadio | checkmark"></dd> <dt>Accelerometer</dt> <dd ng-bind-html="$ctrl.phone.hardware.accelerometer | checkmark"></dd> </dl> </div> <div class="col-md-2"> <h4>Camera</h4> <dl> <dt>Primary</dt> <dd>{{$ctrl.phone.camera.primary}}</dd> <dt>Features</dt> <dd>{{$ctrl.phone.camera.features.join(', ')}}</dd> </dl> </div> <div class="col-md-2"> <h4>Additional Features</h4> <dd>{{$ctrl.phone.additionalFeatures}}</dd> </div> </div> </div> ~~~ 最終效果: ![](https://box.kancloud.cn/2016-08-04_57a30c454905f.png) ## 添加點擊事件 如果以前我們接觸過JS,相信對on-click肯定不陌生。在angularjs中,我們使用ng-click來綁定點擊事件。 `yun-zhi/phone-detail.component.js` ~~~ + // 設置大圖 + self.setImage = function setImage(imgUrl){ + console.log(imgUrl); + }; ~~~ `yun-zhi/phone-detail.template.html` ~~~ <div class="col-md-2" ng-repeat="img in $ctrl.phone.images"> - <img ng-src="{{img}}" class="img-thumbnail" /> + <img ng-click="$ctrl.setImage(img)" ng-src="{{img}}" class="img-thumbnail" /> </div> ~~~ 測試: 點擊圖片后,已經將圖片的地址傳入C層。 ![](https://box.kancloud.cn/2016-08-04_57a30c456f901.png) ## 綁定數據 下面,我們將傳入值綁定到左側的大圖上。 `yun-zhi/phone-detail.component.js` ~~~ // 設置大圖 self.setImage = function setImage(imgUrl){ - console.log(imgUrl); + self.mainImageUrl = imgUrl; }; ... self.phone = response.data; + + // 將大圖設置為第一張圖片 + self.setImage(self.phone.images[0]); }); ~~~ `yun-zhi/phone-detail.template.html` ~~~ <div class="col-md-4"> - <img ng-src="{{$ctrl.phone.images[0]}}" class="phone img-responsive img-rounded" /> + <img ng-src="{{$ctrl.mainImageUrl}}" class="phone img-responsive img-rounded" /> </div> ~~~ 總結: 點用戶點擊圖片時,能過setImage()將圖片的地址傳給C層,C層再通過數據雙向綁定對左側大圖的URL地址進行了替換。從而達到了點擊右側縮略圖顯示左側大圖的目的。 * * * * * `yun-zhi/phone-detail.template.html` ~~~ <div class="container-fluid"> <div class="row"> <div class="col-md-4"> <img ng-src="{{$ctrl.mainImageUrl}}" class="phone img-responsive img-rounded" /> </div> <div class="col-md-8"> <h1>{{$ctrl.phone.name}}</h1> <p>{{$ctrl.phone.description}}</p> <div class="row"> <div class="col-md-2" ng-repeat="img in $ctrl.phone.images"> <img ng-click="$ctrl.setImage(img)" ng-src="{{img}}" class="img-thumbnail" /> </div> </div> </div> </div> <div class="row"> <div class="col-md-2"> <h4>Availability and Networks</h4> <dl> <dt>Availability</dt> <dd ng-repeat="availability in $ctrl.phone.availability">{{availability}}</dd> </dl> </div> <div class="col-md-2"> <h4>Availability and Networks</h4> <dl> <dt>Availability</dt> <dd ng-repeat="availability in $ctrl.phone.availability">{{availability}}</dd> </dl> </div> <div class="col-md-2"> <h4>Battery</h4> <dl> <dt>Type</dt> <dd>{{$ctrl.phone.battery.type}}</dd> <dt>Talk Time</dt> <dd>{{$ctrl.phone.battery.talkTime}}</dd> <dt>Standby time (max)</dt> <dd>{{$ctrl.phone.battery.standbyTime}}</dd> </dl> </div> <div class="col-md-2"> <h4>Storage and Memory</h4> <dl> <dt>RAM</dt> <dd>{{$ctrl.phone.storage.ram}}</dd> <dt>Internal Storage</dt> <dd>{{$ctrl.phone.storage.flash}}</dd> </dl> </div> <div class="col-md-2"> <h4>Connectivity</h4> <dl> <dt>Network Support</dt> <dd>{{$ctrl.phone.connectivity.cell}}</dd> <dt>WiFi</dt> <dd>{{$ctrl.phone.connectivity.wifi}}</dd> <dt>Bluetooth</dt> <dd>{{$ctrl.phone.connectivity.bluetooth}}</dd> <dt>Infrared</dt> <dd ng-bind-html="$ctrl.phone.connectivity.infrared | checkmark"></dd> <dt>GPS</dt> <dd ng-bind-html="$ctrl.phone.connectivity.gps | checkmark"></dd> </dl> </div> <div class="col-md-2"> <h4>Android</h4> <dl> <dt>OS Version</dt> <dd>{{$ctrl.phone.android.os}}</dd> <dt>UI</dt> <dd>{{$ctrl.phone.android.ui}}</dd> </dl> </div> <div class="col-md-2"> <h4>Size and Weight</h4> <dl> <dt>Dimensions</dt> <dd ng-repeat="dim in $ctrl.phone.sizeAndWeight.dimensions">{{dim}}</dd> <dt>Weight</dt> <dd>{{$ctrl.phone.sizeAndWeight.weight}}</dd> </dl> </div> <div class="col-md-2"> <h4>Display</h4> <dl> <dt>Screen size</dt> <dd>{{$ctrl.phone.display.screenSize}}</dd> <dt>Screen resolution</dt> <dd>{{$ctrl.phone.display.screenResolution}}</dd> <dt>Touch screen</dt> <dd ng-bind-html="$ctrl.phone.display.touchScreen | checkmark"></dd> </dl> </div> <div class="col-md-2"> <h4>Hardware</h4> <dl> <dt>CPU</dt> <dd>{{$ctrl.phone.hardware.cpu}}</dd> <dt>USB</dt> <dd>{{$ctrl.phone.hardware.usb}}</dd> <dt>Audio / headphone jack</dt> <dd>{{$ctrl.phone.hardware.audioJack}}</dd> <dt>FM Radio</dt> <dd ng-bind-html="$ctrl.phone.hardware.fmRadio | checkmark"></dd> <dt>Accelerometer</dt> <dd ng-bind-html="$ctrl.phone.hardware.accelerometer | checkmark"></dd> </dl> </div> <div class="col-md-2"> <h4>Camera</h4> <dl> <dt>Primary</dt> <dd>{{$ctrl.phone.camera.primary}}</dd> <dt>Features</dt> <dd>{{$ctrl.phone.camera.features.join(', ')}}</dd> </dl> </div> <div class="col-md-2"> <h4>Additional Features</h4> <dd>{{$ctrl.phone.additionalFeatures}}</dd> </div> </div> </div> ~~~ `yun-zhi/phone-detail.component.js` ~~~ angular. module('yunZhi'). component('phoneDetail', { templateUrl: 'yun-zhi/phone-detail.template.html', controller: ['$http', '$routeParams', function PhoneListController($http, $routeParams) { var self = this; // 設置大圖 self.setImage = function setImage(imgUrl){ self.mainImageUrl = imgUrl; }; // 使用$routeParam獲取phoneId // $routeParam存在于angular-route模塊中 var phoneId = $routeParams.phoneId; // 拼接存放手機數據的文件地址 var url = 'phones/' + phoneId + '.json'; // 發起請求 $http.get( url ). then(function(response){ console.log(response); self.phone = response.data; // 將大圖設置為第一張圖片 self.setImage(self.phone.images[0]); }); } ] }); ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看