deesoft / yii2-angularjs
Yii2 widgets for angularjs
Installs: 85
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 1
Open Issues: 0
Type:yii2-extension
pkg:composer/deesoft/yii2-angularjs
Requires
- yiisoft/yii2: >=2.0.4
This package is not auto-updated.
Last update: 2025-10-25 05:18:48 UTC
README
Installation
The preferred way to install this extension is through composer.
Either run
php composer.phar require deesoft/yii2-angularjs "~1.0"
or add
"deesoft/yii2-angularjs": "~1.0"
to the require section of your composer.json file.
Usage
Module Widget
file index.php
<div ng-app="angularYii">
<?php Module::begin([
'name' => 'angularYii', // module name, use for ng-app
'controllers' => [
'MainController' => [
'sourceFile' => 'controllers/main-controller.js',
]
]
])?>
<div ng-controller="MainController">
<ul>
<li ng-repeat="todo in todos">{{todo.name}}</li>
</ul>
<input ng-model="newValue"><button ng-click="addTodo()">Add</button>
</div>
<?php Module::end()?>
</div>
file controllers/main-controller.js
function($scope){ $scope.todos = [ {name: 'Satu'}, {name: 'Dua'}, {name: 'Tiga'}, ]; $scope.addTodo = function(){ $scope.todos.push({ name:$scope.newValue, }); $scope.newValue = ''; } }
NgRoute widget
NgRoute widget is special widget of Module. It has property routes
file index.php
<div ng-app="ngrouteYii">
<?= NgRoute::widget([
'name' => 'ngrouteYii',
'routes' => [
'/' => [
'templateFile' => 'templates/main.php',
'controllerFile' => 'controllers/main.js',
],
'/view/:id' => [
'templateFile' => 'templates/view.php',
'controllerFile' => 'controllers/view.js',
],
'/edit/:id' => [
'templateFile' => 'templates/edit.php',
'controllerFile' => 'controllers/edit.js',
],
'*' => [ // otherwise
'templateFile' => 'templates/not-found.php',
],
]
])?>
</div>