首先这是我的devDependencies
"angular": "^1.5.0",
"angular-ui-router": "^1.0.0-beta.1",
我想开发angularjs版本,它使用组件和控制器作为类和路由我不知道使用哪种语法
我需要知道我的依赖项与特定语法的路由兼容,如果有人可以给我一个路由的例子
import uiRouter from 'angular-ui-router';
angular.module('app', [
uiRouter
])
.config(($stateProvider, $urlRouterProvider)=> {
"ngInject";
$urlRouterProvider.otherwise('/');
$stateProvider
.state('login', {
url: '/',
component: 'login'
});
$stateProvider
.state('home', {
url: '/home',
component: 'home'
});
})
但是当我尝试在我的控制器中使用$ state.go('home')时出错 谢谢你的帮助
更新
的LoginController
class LoginController {
constructor() {
this.name = 'login';
console.log('login controller');
}
openHome(){
console.log("uo");
$state.go('home');
}
}
export default LoginController;
login.js
import LoginComponent from './login.component'
import angular from 'angular';
import uiRouter from 'angular-ui-router';
angular.module('login',[
uiRouter
])
.config(($stateProvider, $urlRouterProvider)=> {
"ngInject";
})
.component('login',LoginComponent);
在构造函数中添加$ scope和$ state
答案 0 :(得分:0)
问题来自您的控制器。试试这个:
LoginController:
'use strict';
(function(){
class LoginController {
constructor($state) {
this.openHome = function(){
console.log("uo");
$state.go('home');
}
}
angular.module('app')
.component('login', {
templateUrl: 'your/location/toMyFile.html',
controller: LoginComponent
});
})();
希望它有所帮助;)