1

我有 2 个 html 页面和一个 app.js

我的 search-movie.html 代码如下:

<!DOCTYPE html>
<html ng-app="adphorusWork">
<head lang="en">
    <meta charset="UTF-8">
    <title>Search Movie</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
    <script src="scripts/angular.min.js"></script>
    <script src="scripts/angular-route.min.js"></script>
    <script src="scripts/jquery-1.9.1.min.js"></script>
    <script src="app/app.js"></script>
</head>
<body ng-controller="searchMovieController">
    <div class="navbar navbar-default navbar-fixed-top" style="margin-top: 20px;">
        <div class="container-fluid">
            <ul>
                <li>
                    <a href="http://www.omdbapi.com/">OMDb Api</a>
                </li>
            </ul>
        </div>
    </div>
    <div class="container" style="margin-top: 50px;">
        <div class="bs-docs-section" id="">
            <div class="row">
                <div class="col-lg-12">
                    <div class="page-header">
                        <h2><a href="https://github.com/Cakmakk">My Github</a></h2>
                    </div>
                    <div class="bs-component">
                        <form class="well form-search" id="search-movie" onsubmit="return false;">
                            <fieldset>
                                <legend>Search Movie</legend>
                            </fieldset>
                            <div>
                                <label class="control-label" for="movie-name">Movie Name : </label>
                                <input type="text" id="movie-name" class="input-small" style="margin-left: 10px;">
                                <button id="btn-search-movie" type="button" class="btn-sm btn-primary" style="margin-left: 10px;" ng-click="searchMovie()">
                                    <span class="glyphicon glyphicon-search"> Search</span>
                                </button>
                            </div>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>

我的 result-movie.html 代码如下:

<!DOCTYPE html>
<html>
<head ng-app="adphorusWork">
    <meta charset="UTF-8">
    <title>Search Movie</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
    <script src="scripts/angular.min.js"></script>
    <script src="scripts/angular-route.min.js"></script>
    <script src="app/app.js"></script>
    <script src="scripts/jquery-1.9.1.min.js"></script>
</head>
<body ng-controller="resultMovieController">
    <div class="navbar navbar-default navbar-fixed-top" style="margin-top: 20px;">
        <div class="container-fluid">
            <ul>
                <li>
                    <a href="http://www.omdbapi.com/">OMDb Api</a>
                </li>
            </ul>
        </div>
    </div>
    <div class="container" style="margin-top: 50px;">
        <div class="bs-docs-section" id="">
            <div class="row">
                <div class="col-lg-12">
                    <div class="page-header">
                        <h2><a href="https://github.com/Cakmakk">My Github</a></h2>
                    </div>
                    <div class="bs-component">
                        <fieldset>
                            <legend>Result for Search Movie</legend>
                        </fieldset>
                        <div>
                            <button id="btn-result-movie" type="button" class="btn-sm btn-primary" style="margin-top: 40px;" ng-click="backtohome()">
                                <span class="glyphicon glyphicon-circle-arrow-left"> Home</span>
                            </button>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>

和我的 app.js 如下:

(function (angular) {
    'use strict';

    var app = angular.module('adphorusWork', []);

    app.controller('searchMovieController', function ($scope) {
        $scope.searchMovie = function () {
            alert("come")
        }
    });
    app.controller('resultMovieController', function ($scope) {
        $scope.backtohome = function () {
            alert("home")
        }
    });
})(angular);

我的搜索按钮正在工作(在 search-movie.html 中),但我的“主页”按钮不起作用(在 result-movie.html 中)

我在两个 html 页面中使用相同的 ng-app。我想处理其他按钮(所以主页按钮)

我在哪里做错了?或者我该如何解决这个错误?

4

3 回答 3

2

为此,您需要使用 Angular Ui 路由器。@Lex 是正确的,您没有遵循角度 SPA 框架。

这是一个很好的阅读:https ://github.com/angular-ui/ui-router

此链接可以提供有关角度 ui 路由器的简要详细信息https://scotch.io/tutorials/angular-routing-using-ui-router

于 2016-07-07T20:46:45.823 回答
0

你没有:

<script src="app/app.js"></script>

在您的 result-movie.html 页面中。然而,更大的问题是,你为什么要这样构建它?Angular 被设计为单页应用程序 (SPA) 框架。你建造它的方式我认为你最终会遇到很多问题。

于 2016-07-07T20:19:03.073 回答
0

我注意到您没有包含在result-movie.html页面中

<script src="app/app.js"></script>

至于最好的方法是你可以使用ngRoute控制器之间的数据传递

于 2016-07-07T20:47:34.293 回答