在我的Angular 2应用程序中,我收到一个错误:
无法读取undefined的属性'title'.
这是一个非常简单的组件,只是试图在这里工作.它击中我的API控制器(奇怪地多次),它似乎在返回一个对象后点击回调.我的console.log输出了我期望的对象.这是完整的错误:
TypeError: Cannot read property 'title' of undefined
at AbstractChangeDetector.ChangeDetector_About_0.detectChangesInRecordsInternal (eval at <anonymous> (http://localhost:55707/lib/angular2/bundles/angular2.dev.js:10897:14), <anonymous>:31:26)
at AbstractChangeDetector.detectChangesInRecords (http://localhost:55707/lib/angular2/bundles/angular2.dev.js:8824:14)
at AbstractChangeDetector.runDetectChanges (http://localhost:55707/lib/angular2/bundles/angular2.dev.js:8807:12)
at AbstractChangeDetector._detectChangesInViewChildren (http://localhost:55707/lib/angular2/bundles/angular2.dev.js:8877:14)
at AbstractChangeDetector.runDetectChanges (http://localhost:55707/lib/angular2/bundles/angular2.dev.js:8811:12)
at AbstractChangeDetector._detectChangesContentChildren (http://localhost:55707/lib/angular2/bundles/angular2.dev.js:8871:14)
at AbstractChangeDetector.runDetectChanges (http://localhost:55707/lib/angular2/bundles/angular2.dev.js:8808:12)
at AbstractChangeDetector._detectChangesInViewChildren (http://localhost:55707/lib/angular2/bundles/angular2.dev.js:8877:14)
at AbstractChangeDetector.runDetectChanges (http://localhost:55707/lib/angular2/bundles/angular2.dev.js:8811:12)
at AbstractChangeDetector.detectChanges (http://localhost:55707/lib/angular2/bundles/angular2.dev.js:8796:12)
Run Code Online (Sandbox Code Playgroud)
该服务(about.service.ts):
import {Http} from 'angular2/http';
import {Injectable} from 'angular2/core';
import {AboutModel} from './about.model';
import 'rxjs/add/operator/map';
@Injectable()
export class AboutService {
constructor(private _http: Http) { }
get() {
return this._http.get('/api/about').map(res => {
console.log(res.json()); // I get …Run Code Online (Sandbox Code Playgroud) $window.location.origin 在IE上返回错误的值.
origin属性返回URL的协议,主机名和端口号.
例
url:http:// localhost:8080/products/search
Chrome:
$window.location.origin返回http:// localhost:8080
IE:
$window.location.origin返回http:// localhost:8080/products/search
我怎样才能在IE上获得正确的价值?
我正在使用Entity Framework v4.我遵循了书呆子晚餐教程中的说明.我目前处于开发模式(未发布到任何更高的环境),并希望在每个新部署上重新创建表,因为模型仍然具有高度不稳定性,而且我不关心保留数据.但是,这不会发生.不会创建/修改表,也不会发生数据库中发生的任何事情.如果我使用程序包管理器命令移动到迁移模型:enable-migrations,add-migration(initial),这将起作用并使用我的迁移.但是,由于我还不想进行粒度迁移并且只想要我的初始创建脚本,因此我不得不每次都删除迁移文件夹,重做命令(enable-migrations,add-migration)并手动删除数据库我改变了什么.
如何首先获得代码的放置/创建行为?
尝试运行我的应用程序时出现MvcWebRazorHostFactory错误,但它根本不是MVC应用程序.我通过nuget安装了以下Web包:
Microsoft ASP.NET Razor
Microsoft ASP.NET Web API 2.1
Microsoft ASP.NET Web Pages
Run Code Online (Sandbox Code Playgroud)
我的应用程序是angularjs前端使用剃刀视图(.cshtml).我不明白为什么我一直收到这个错误.
An exception of type 'System.InvalidOperationException' occurred in System.Web.WebPages.Razor.dll but was not handled in user code
Additional information: Could not locate Razor Host Factory type: System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35
Run Code Online (Sandbox Code Playgroud)
这是我的web.config中的剃刀部分:
<system.web.webPages.razor>
<host factoryType="System.Web.WebPages.Razor.WebRazorHostFactory, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.WebPages.WebPage">
<namespaces>
<add namespace="System.Web.Configuration" />
<add namespace="System.Web.Optimization" />
<add namespace="System.Web.Routing" />
</namespaces>
</pages>
Run Code Online (Sandbox Code Playgroud)
我试图在这里遵循John Papa的angularJS风格指南,并开始将我的指令转换为使用controllerAs.但是,这不起作用.我的模板似乎无法访问分配给vm的任何内容.看到展示行为的这个非常简单的plnkr示例.
http://plnkr.co/edit/bVl1TcxlZLZ7oPCbk8sk?p=preview
angular
.module('app', []);
angular
.module('app')
.directive('test', test);
function test() {
return {
restrict: 'E',
template: '<button ng-click="click">{{text}}</button>',
controller: testCtrl,
controllerAs: 'vm'
}
}
angular
.module('app')
.controller('testCtrl', testCtrl);
function testCtrl() {
var vm = this;
vm.text = "TEST";
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Karma-Webpack来运行我的Angular 2规范.
https://github.com/webpack/karma-webpack
当我在Chrome中使用karma执行测试时,我的规范的源文件在调试器中看起来是可读的.但是,受测试的系统文件(我的应用程序源)是不可读的.
我正在使用karma-sourcemap-loader并按照指示将devtool设置为'inline-source-map'.什么可能导致这个问题?
此构建模仿AngularClass angular2-webpack-starter之后的模型. https://github.com/AngularClass/angular2-webpack-starter
调试器中的Spec文件:
调试器中的SUT文件:
webpack.test.js
const helpers = require('./helpers');
/**
* Webpack Plugins
*/
const ProvidePlugin = require('webpack/lib/ProvidePlugin');
const DefinePlugin = require('webpack/lib/DefinePlugin');
/**
* Webpack Constants
*/
const ENV = process.env.ENV = process.env.NODE_ENV = 'test';
/**
* Webpack configuration
*
* See: http://webpack.github.io/docs/configuration.html#cli
*/
module.exports = {
/**
* Source map for Karma from the help of karma-sourcemap-loader & karma-webpack
*
* Do not change, leave as is or it wont work.
* See: …Run Code Online (Sandbox Code Playgroud) 我的angularjs控制器函数永远不会被调用.我看到我的源中包含的所有js文件,它只是没有达到我的控制器的初始化.这段代码有什么问题?
eventListCtrl.js:
eventsApp.controller('eventListCtrl', ['$scope', function ($scope) {
// this code is never called
alert('controller initializing');
$scope.name = "Test";
}]);
Run Code Online (Sandbox Code Playgroud)
app.js:
'use strict';
var eventsApp = angular.module('eventsApp', []);
Run Code Online (Sandbox Code Playgroud)
Index.cshtml:
<div ng-controller="eventListCtrl">
<div class="row">
<div class="spann11">
<h2>{{name}}</h2>
</div>
</div>
</div>
<script src="/scripts/vendor/angular.js"></script>
<script src="/scripts/app.js"></script>
<script src="/scripts/controllers/eventListCtrl.js"></script>
Run Code Online (Sandbox Code Playgroud) 使用Material设计和flex-layout的Angular app. https://github.com/angular/flex-layout
我正在尝试在顶部创建一个2列的简单页面布局(左=填充,右= 10%),然后在屏幕底部创建一行.元素仍然只填充内容所需的垂直空间.我发现这样做的唯一方法是手动将高度设置为100%.这是我必须这样做的吗?这个HTML有什么问题?
<div fxLayout="column">
<div fxLayout="row" fxFlex="90%">
<div fxFlex="80%" class="border">
<p>Stuff is happening here</p>
</div>
<div fxFlex="20%" class="border">
<ul>
<li>Item 1</li>
<li>Item 2</li>
</ul>
</div>
</div>
<div fxLayout="row" fxFlex="10%" class="border">
<p>Bottom element</p>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
结果:
我正在运行typescript构建并在node_modules中获取错误.为什么不忽略这个文件夹?我在tsconfig.json的exclude部分中有它.真正奇怪的是我有另一个项目,我已经完成了文件比较,即使gulpfile.js,tsconfig.json和node_modules文件夹相同,它也不会抛出这些错误.我还能检查什么?
错误:
c:/Dev/streak-maker/node_modules/angular2/src/core/change_detection/parser/locals.d.ts(3,14): error TS2304: Cannot find name 'Map'.
c:/Dev/streak-maker/node_modules/angular2/src/core/change_detection/parser/locals.d.ts(4,42): error TS2304: Cannot find name 'Map'.
c:/Dev/streak-maker/node_modules/angular2/src/core/debug/debug_node.d.ts(14,13): error TS2304: Cannot find name 'Map'.
c:/Dev/streak-maker/node_modules/angular2/src/core/debug/debug_node.d.ts(24,17): error TS2304: Cannot find name 'Map'.
c:/Dev/streak-maker/node_modules/angular2/src/core/debug/debug_node.d.ts(25,17): error TS2304: Cannot find name 'Map'.
c:/Dev/streak-maker/node_modules/angular2/src/core/di/provider.d.ts(436,103): error TS2304: Cannot find name 'Map'.
c:/Dev/streak-maker/node_modules/angular2/src/core/di/provider.d.ts(436,135): error TS2304: Cannot find name 'Map'.
c:/Dev/streak-maker/node_modules/angular2/src/core/render/api.d.ts(13,13): error TS2304: Cannot find name 'Map'.
c:/Dev/streak-maker/node_modules/angular2/src/core/render/api.d.ts(14,84): error TS2304: Cannot find name 'Map'.
c:/Dev/streak-maker/node_modules/angular2/src/facade/collection.d.ts(1,25): error TS2304: Cannot find name 'MapConstructor'.
c:/Dev/streak-maker/node_modules/angular2/src/facade/collection.d.ts(2,25): error TS2304: Cannot find name 'SetConstructor'.
c:/Dev/streak-maker/node_modules/angular2/src/facade/collection.d.ts(4,27): …Run Code Online (Sandbox Code Playgroud) 给定一个加载了产品选项的选择列表,我希望标签采用选项名称的格式,然后在括号中定价.例如:"产品选项B($ 1,432.12)".我的选项对象具有"名称"和"价格"属性.价格是数字,我想用货币过滤器格式化.我该怎么做?我想也许是一个带字符串和数值的自定义过滤器.只是不确定我如何能够在ng-options中应用过滤器.
以下代码只显示名称(不是价格):
<select class="form-control"
ng-model="selectedOption"
ng-options="option.name for option in category.options"></select>
Run Code Online (Sandbox Code Playgroud) angular ×3
angularjs ×3
javascript ×3
asp.net ×1
asp.net-mvc ×1
code-first ×1
flexbox ×1
gulp ×1
ng-options ×1
npm ×1
observable ×1
razor ×1
rxjs ×1
tsc ×1
typescript ×1
webpack ×1