在Angular中,我想使用ngClass和click事件来切换类.我通过在线查看,但有些是angular1,没有任何明确的指示或示例.任何帮助都感激不尽!
在HTML中,我有以下内容:
<div class="my_class" (click)="clickEvent($event)" ngClass="{'active': toggle}">
Some content
</div>
Run Code Online (Sandbox Code Playgroud)
在.ts:
clickEvent(event){
//Haven't really got far
var targetEle = event.srcElement.attributes.class;
}
Run Code Online (Sandbox Code Playgroud) 我是React的新手,经过一些教程后,我正在尝试下面的代码.
我创建了一个组件,从商店向它传递道具,在componentWillMount
我为组件创建一个新状态.渲染很好,直到现在.
接下来,我state
将输入框的值限制在一起,我也有onChange
听众.不过,我无法在现场改变我的价值观.
因为,我从角的背景是,我假设结合输入的值陈述象下面会自动更新属性name
的state
对象.我错了吗?
componentWillMount(){
this.setState({
updatable : false,
name : this.props.name,
status : this.props.status
});
}
//relevant DOM from component's render function
<input className="form-control" type="text" value={this.state.name} id={'todoName' + this.props.id} onChange={this.onTodoChange.bind(this)}/>
onTodoChange(){
console.log(this);
//consoling 'this' here, shows old values only.
//not sure how and even if I need to update state here.
// Do I need to pass new state to this function from DOM
//TODO: send new data to …
Run Code Online (Sandbox Code Playgroud) 我正在创建一个新的 Angular 项目,并希望所有 Angular 依赖项都来自稳定的第 7 版本。但是,似乎在运行ng new app
命令时 Angular 总是获取最新版本。我的 package.json 显示了来自~8.0.0
.
我知道我可以修改 package.json 并将这些依赖项设置为按照语义 7.xx 获取,但我更希望它自动完成,这样我就不会遇到与任何对等依赖项不匹配的机会.
那么,有没有办法告诉 CLI 获取特定的 angular 版本以及根据该 angular 版本的所有依赖项。
编辑:我已经尝试过安装 @angular/cli@7.xx 即使在我运行 ng 新应用程序之后这样做,我的依赖也会按照第 8 版获取
我正在开发一个Angular项目,其中我使用了Angular Material组件(主要是md-Buttons).该应用程序显示了各种瓷砖,每个瓷砖都是md-Button.一次我最多可能有20到30个瓷砖.使用这些瓷砖重复ng-repeat
.
该应用程序在Chrome上运行良好,但在IE11上,我经常面临渲染问题.渲染大约需要5-6秒.切换瓷砖显示效果不佳.滚动屏幕会导致组件粘住,然后在1秒后移动.
可能我认为Angular Material对于IE11来说太重了.我可以做些什么来加快IE11的速度,因为这是我的主要目标浏览器?
我试过了:
上述情况似乎都没有太大影响.
我认为Angular材料是一个很好的库,必须有一些东西可以用来改进它在IE11中的工作.请有人建议一些有效的方法吗?
好吧,我有一个问题.我有一个ng-repeat,里面有一个带有ng-change()的输入.这是指令模板的一部分,并且双向绑定到父对象.如果我在输入框中输入内容,一切正常,父对象也会更新.但是,当我必须从指令的控制器替换父对象时,我遇到了一个问题.
问题是,一旦父对象被替换,视图就会被新的(替换的)值绑定.此时,也会手动触发相同的功能(如ng-change())进行某些计算.
但是,我注意到同样的功能再次被调用(不知道如何).重要的是输入的ng模型是未定义的,当它们被自动调用时.结果,最后父对象包含未定义的值.
我仍然感到困惑,为什么在控制器方法调用之后调用ng-change.是否必须对ng-repeat创建的子范围执行某些操作.
我已经使用了$ index的跟踪.我把模型绑定到parentObj.something.something [$ index]
对上述任何帮助表示赞赏......
我有
module.directive('myDirective', function () {
return {
scope: {
target: '=',
},
controller: 'DemoController',
templateUrl: 'app/demo/html/demo.html'
}
});
Run Code Online (Sandbox Code Playgroud)
主要模板:
<li ng-repeat="l in group_Main.mains"
<li ng-repeat="target in l.description.Value track by $index"
<li ng-repeat="(key, groups) in target.group track by $index">
<div layout="row" layout-wrap myDirective target="group"></div>
</li>
</li>
</li>
Run Code Online (Sandbox Code Playgroud)
app/demo/html/demo.html :: 指令的模板
<div class="table_FY_height" flex ng-repeat="m in months track by $index">
<input ng-change="changeIt(target.targets.years[1].values.data[$index], target, year,parent, $index)"" ng-if="$index>currentMonth" ng-model="target.targets.years[1].values.data[$index]"/>
</div>
Run Code Online (Sandbox Code Playgroud)
在指令的控制器中:
module.controller('DemoController', function($scope, $rootScope){
changeIt(-1,$scope.target,$scope.year,$scope.parent); …
Run Code Online (Sandbox Code Playgroud) 我已经在节点环境中创建了一个基本的AngularJS应用。我正在使用http-server模块将文件提供给浏览器。一切正常,除了index.html
服务器启动时默认无法提供服务的事实。
我检查了npm注册表以获得http服务器模块的更多选项,还尝试在SO上寻找相关问题,但仍然无法获得我想要的东西。
是否可以指定服务器启动时要拾取的文件。
我的服务器基本上在localhost:8080
我想要的时候开始localhost:8080/index.html
我的开始脚本是http-server -a localhost -p 8080 -c-1
。如果我做这样的事http-server -a localhost -p 8080 -c-1 index.html
,令我惊讶的是它打开了index.html
文件,但是是在文件协议而不是在文件协议上提供的localhost
。
我在这里做错了。
PS我参观了Angular JS种子,那里有官方的例子http-server -a localhost -p 8080 -c-1 ./app
。但是,当我这样做时,我收到错误消息,尽管我的结构类似于种子,但Windows无法找到指定的路径。
我的结构:
dir
--app.js
--index.html
--node_modules
--package.json
Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的一个AngularJS应用程序中实现一个服务工作者.基于教程(主要是MDN),我提出了以下实现来将它与AngularJS合并.
首先,因为app.run()
似乎是正确的地方.我在我的run
块中有以下代码:
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('workerFile.js')
.then(function(reg) {
console.log('Registration done');
},function(error) {
console.log('Registration failed with ' + error);
});
}
Run Code Online (Sandbox Code Playgroud)
我的服务工作者文件如下:
this.addEventListener('install', function(event) {
event.waitUntil(
caches.open('v1').then(function(cache) {
return cache.addAll([
'index.html'
]);
})
);
});
Run Code Online (Sandbox Code Playgroud)
和
this.addEventListener('fetch', function(event) {
event.respondWith(
caches.match(event.request)
);
});
Run Code Online (Sandbox Code Playgroud)
完成此操作后,我希望我的index.html
文件可以缓存并脱机使用.但那还没有发生.在线时,每次为服务器提供文件(在提琴手中看到).
我尝试过更改this
为self
工作文件.这没有用.此外,我正在测试它,localhost
所以我认为它不应该有不安全的浏览问题.我对JavaScript中的Workers概念很陌生,因此没有足够的选项可以尝试.
有人能指出我的错误吗?显然,互联网上的文章并不多.
PS:我参观了这个问题:没多大帮助.
更新:再看一下文档,我相信它在注册时与scope属性有关.我该如何定义此属性以包含我的整个应用程序?我尝试过使用{scope: '/'}
它似乎不起作用.
javascript web-worker offline-caching angularjs service-worker
我正在阅读Angular 2文档,我发现:
通过$ event不是一个好习惯
键入事件对象会显示出将整个DOM事件传递给方法的重要意见:组件对模板详细信息的了解太多.它不能在不了解HTML实现的情况下提取信息.这打破了模板(用户看到的)与组件(应用程序如何处理用户数据)之间的关注点分离.
出于某种原因,我无法完全理解它所说的内容.似乎在任何地方都没有可用的解释.
有人可以用更简单的术语解释这个的确切含义(如果可能的话,举个例子)?
我正在尝试在我的 Angular 应用程序中下载 pdf 文件。服务器 (JBoss) 提供一个文件
Content-type : application/pdf and Content- Disposition
标题设置为附件。我可以在提琴手的响应中很好地看到这些标题。但是,在我的订阅回调中,我看不到相同的标题。相反,标题包含两个属性,即:
_headers and _normalizedHeaders
在进行 GET 调用时。我愿意:
`this._http.get(url, {responseType: 'arraybuffer'}).subscribe((file: Response)=>{
//Cant find headers in file here
});`
Run Code Online (Sandbox Code Playgroud)
我也尝试将 responseType 设置为RequestContentType.Blob
,它也没有任何区别。
对于我的下载实现,我有一段代码,它一直适用于我用 AngularJS 下载附件。我只是在这里努力阅读Content-Disposition
标题。
我也尝试过设置{ observe : response }
,希望以这种方式得到详细的回应。但是,由于某些原因,不允许在 GET 中设置该属性 options
。
我在 SO 上看到了很多答案并尝试了其中的大部分,但仍然无法获得标题。
PS:直接在浏览器上点击 API 会得到下载的文件,这意味着我的 Java 代码很好,这让我想知道我上面的代码有什么问题。
请求建议。
我的一个http通话中获得以下状态。我以前没看过这种状态。我的所有电话均被阻止,服务器未收到任何点击。
我尝试查找它,发现它可能是由于某种称为“混合内容”的缘故。不幸的是,我对此也不了解。
有人可以解释什么可能导致此问题以及如何解决它。?
javascript ×6
angular ×4
angularjs ×4
browser ×2
angular-cli ×1
download ×1
events ×1
http ×1
http-headers ×1
httpserver ×1
localhost ×1
ng-repeat ×1
npm ×1
onchange ×1
package.json ×1
reactjs ×1
state ×1
web-worker ×1
webserver ×1