如何结合codeigniter和angularjs?

时间:2016-04-19 05:43:19

标签: angularjs codeigniter codeigniter-3

我看到很多关于codeigniter和angularjs的帖子一起工作,但大多数都是关于重新搜索数据和传递数据。我的问题更基本。

我通过php运行网站,然后一切都没问题,意味着angularjs正常工作。但是当我通过控制器运行它时,它没有工作。怎么回事?这是我的部分内容代码:

<body ng-app="myApp" ng-controller="myCtrl">

First Name: <input type="text" ng-model="firstName"><br>
Last Name: <input type="text" ng-model="lastName"><br>
<br>
Full Name: {{firstName + " " + lastName}}
class First extends CI_Controller{

  public function index(){
      $this->load->view('first');
  }

}
var app = angular.module('myApp', ['ngMaterial']);
app.controller('myCtrl', function($scope) {
    $scope.firstName = "John";
    $scope.lastName = "Doe";
});

我的控制器文件是first.php,视图文件也是first.php。当我按http://localhost/ci_ngtest/index.php/first浏览网站时,输入的姓名和姓氏是空白的,全名显示{{firstName + &#34; &#34; + lastName}}而不是John Doe

这是我的项目结构:

 --application
 --node_modules
   --angular
     --angular.js
   --angular-material
 --system
 --user_guide
 --somefiles(somefiles below)

1 个答案:

答案 0 :(得分:0)

您需要正确配置脚本路径:

  1. 首先在application \ config \ config.php中设置base_url
  2. $config['base_url']= 'http://localhost/ci_ngtest/index.php/';

    1. 在application \ config \ autoload.php
    2. 中加载库

      $autoload['helper'] = array('url');

      1. 配置脚本路径:
      2. <script src="<?php echo base_url();?>node_modules/angular/angular.js"></script> <script src="<?php echo base_url();?>node_modules/angular-material/angular-material.js"></script>