我已将我的网络应用程序更新为meteor 1.5。现在当我在角度组件中导入模板时:
从'./template.html'
导入模板返回一个对象,模板位于默认属性
中Object {default: '<div class="m-t-100" ui-view=""></div>', Symbol(__esModule): true}
在我更新Web应用程序之前,导入返回了一个包含template.html
内容的String'<navigation ng-if="home.isLoggedIn"></navigation>…menu-app> <div class="m-t-100" ui-view=""></div>'
我想知道是什么原因导致这种变化
代码是:
import angular from 'angular';
import angularMeteor from 'angular-meteor';
import ngMaterial from 'angular-material';
import uiRouter from 'angular-ui-router';
import { Meteor } from 'meteor/meteor';
import template from './home.html';
class Home {
constructor($scope,$reactive,$urlRouter) {
'ngInject';
$reactive(this).attach($scope);
console.log(template);
//Helpers
this.helpers({
isLoggedIn() {
return !!Meteor.userId();
}
});
$urlRouter.sync();
$urlRouter.listen();
}
}
const name = 'home';
// create a module
export default angular.module(name, [
angularMeteor,
ngMaterial,
uiRouter,
]).component(name, {
template:template,
controllerAs: name,
controller: Home
})
.config(config)
.run(run);
function config($locationProvider, $urlRouterProvider) {
'ngInject';
$locationProvider.html5Mode(true);
$urlRouterProvider.otherwise('/login');
}
function run($rootScope, $state) {
'ngInject';
$rootScope.$on('$stateChangeError',
(event, toState, toParams, fromState, fromParams, error) => {
if (error === 'AUTH_REQUIRED') {
$state.go('login');
}
}
);
}
谢谢!,