我想知道是否使用角度UI路由器或只是使用简单的ng-include,我无法完全理解为什么我会选择将整个库包含在内置的ng-include中,这样可以减少相同的功能码?
有人可以解释什么是错的
<div ng-if="somestate" ng-include="someview"></div>
Run Code Online (Sandbox Code Playgroud) 我正在努力加深我在laravel建筑中的知识.
我有一个搜索引擎(为了示例而进行弹性搜索),但此搜索引擎将来可能会发生变化.所以我试着为此写一个容器,所以万一我以后会改变引擎,我将只需要改变容器.(我相信这个界限是工厂设计的吗?)
我创建了一个如下所示的提供程序app/providers/DataFromSearchEngine.php:
use Illuminate\Support\ServiceProvider;
class DataFromSearchEngine extends ServiceProvider {
public function boot()
{
//
}
public function register()
{
$this->app->singleton('SearchEngine', function($app) {
return new elasticSearch;
});
}
}
Run Code Online (Sandbox Code Playgroud)然后我在提供者数组中注册了它config/app.php.
'providers' => [
// providers...
'App\Providers\DataFromSearchEngine'
],
Run Code Online (Sandbox Code Playgroud)下一步是SearchEngine从我的控制器打电话:
namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class SearchController extends Controller {
protected $searchEngine;
public function __construct() {
$this->searchEngine = $this->app->make('SearchEngine');
}
}
Run Code Online (Sandbox Code Playgroud)但所有这些产量:未定义的属性: App\Http\Controllers\SearchController::$app
有人能解释我错过了什么吗?