小编Dor*_*hen的帖子

角度ng-class if-else表达式

我正在以下列方式使用angularjs ng-class:

<div class="bigIcon" data-ng-click="PickUp()" 
ng-class="{first:'classA', second:'classB', third:'classC', fourth:'classC'}[call.State]"/>
Run Code Online (Sandbox Code Playgroud)

我想知道我是否可以使用if-else表达式,我可以做类似的事情:

<div class="bigIcon" data-ng-click="PickUp()" 
ng-class="{first:'classA', second:'classB', else:'classC'}[call.State]"/>
Run Code Online (Sandbox Code Playgroud)

意思是call.State不同于firstsecond使用,classC而不是指定每个值.

谢谢!

angularjs ng-class

247
推荐指数
4
解决办法
49万
查看次数

如何在选择ng-options时使用ng-class

我有一个Person对象数组

var persons = [
{Name:'John',Eligible:true},
{Name:'Mark',Eligible:true},
{Name:'Sam',Eligible:false},
{Name:'Edward',Eligible:false},
{Name:'Michael',Eligible:true}
];
Run Code Online (Sandbox Code Playgroud)

我正在使用选择这样的ng-options:

<select ng-model="Blah" ng-options="person.Name for person in persons"></select>
Run Code Online (Sandbox Code Playgroud)

我想显示与记录符合条件的:假颜色.所以问题是如何使用ng-classin select来实现这一目标?因为我们没有使用任何option标签,如果我只需添加它不会工作ng-classselect元素本身.

select angularjs ng-class

37
推荐指数
2
解决办法
5万
查看次数

在Typescript中创建AngularJS 1.5组件的最佳做法是什么?

我正在试验.component()Angular 1.5中的语法.

似乎最新的方式是在组件中对控制器进行内联编码,而不是在单独的文件中编码,并且我可以看到组件样板文件最小的优点.

问题是我将控制器编码为打字稿类,并希望继续这样做,因为这似乎与Angular2一致.

我最大的努力是这样的:

export let myComponent = {
  template: ($element, $attrs) => {
    return [
      `<my-html>Bla</my-html>`
    ].join('')
  },
  controller: MyController
};
class MyController {

}
Run Code Online (Sandbox Code Playgroud)

它有效,但它并不优雅.有没有更好的办法?

angularjs typescript angularjs-components

36
推荐指数
5
解决办法
3万
查看次数

如何使用Angular组件观察组件绑定更改

如何监听角度组件绑定更改并执行操作?

angular.module('myapp')
    .component('myComponent', {
        templateUrl: 'some.html',
        controller: MyController,
        controllerAs: 'myCtrl',
        bindings: {
            items: '<'
        }
    });
Run Code Online (Sandbox Code Playgroud)

现在当items我想要使​​用此值执行其他操作时,我该
怎么办?

javascript angularjs typescript angularjs-components

35
推荐指数
3
解决办法
3万
查看次数

将类转换为另一个类或将类转换为另一个类

我的问题显示在此代码中

我有这样的课

public class  maincs
{
  public int a;
  public int b;
  public int c;
  public int d; 
}

public class  sub1
{
  public int a;
  public int b;
  public int c;
}


public void methoda (sub1 model)
{
  maincs mdata = new maincs(){a = model.a , b = model.b , c= model.c} ;   

  // is there is a way to directly cast class sub1 into main like that    
  mdata = (maincs) model;    
}
Run Code Online (Sandbox Code Playgroud)

c# casting class type-conversion

33
推荐指数
4
解决办法
10万
查看次数

分配null是否从对象中删除所有事件处理程序?

我在班上定义了新成员

protected COMObject.Call call_ = null;
Run Code Online (Sandbox Code Playgroud)

该类具有我订阅的以下事件处理程序

call_.Destructed += new COMObject.DestructedEventHandler(CallDestructedEvent);
Run Code Online (Sandbox Code Playgroud)

将我的成员设置为null,如下所示删除事件处理程序?

call_ = null;
Run Code Online (Sandbox Code Playgroud)

或者我必须取消订阅 - =?

.net c# com delegates event-handling

30
推荐指数
2
解决办法
2万
查看次数

从简单的js代码调用angularjs服务

我有以下angularjs服务:

angular.module('app.main').factory('MyService', ["$http", function ($http) {
    return new function () {

        this.GetName = function () {
            return "MyName";
        };
    };
}]);
Run Code Online (Sandbox Code Playgroud)

如何从遗留的js代码中调用GetName函数MyService

javascript angularjs angularjs-service

29
推荐指数
3
解决办法
2万
查看次数

ng-class未被应用

我有一个textarea包含要发布的消息和一个仍然可用的字符数的跨度.

<textarea name="" cols="" rows="" maxLength="{{maxMessageLength}}" ng-model="messageText"/>
<div id="chatmessage-buttons">              
    <a ng-click="sendMessage()"><span>Invia</span></a>
<span ng-class="{message-length-alert: (messageText.length > messageLengthAlertTreshold), message-length: true}">{{maxMessageLength - messageText.length}}</span>
</div>          
Run Code Online (Sandbox Code Playgroud)

messageText,maxMessageLength并且messageLengthAlertTreshold都在$scope,并且当我在textarea中插入文本时更改值的范围内,并且跨度内的计数器正确更新messageText.length.

然而,无论是CSS类message-lengthmessage-length-alert都曾经申请过我的跨度,无论包含在价值的messageText.

我也尝试删除检查以message-length-alert保留ng-class属性{message-length: true},但是它仍然没有被应用.

我错过了什么?

angularjs ng-class

26
推荐指数
1
解决办法
4万
查看次数

无法加载"IE",它没有注册!Karma上的错误消息

我正在使用业力在多个浏览器上运行我的js测试.该测试适用于Chrome和Firefox,但我无法在IE上激活它们.

我收到以下错误消息:

无法加载"IE",它没有注册!也许你错过了一些插件?

在我的配置文件上

SET CHROME_BIN=c:\Program Files (x86)\Google\Chrome\Application\chrome.exe  
SET FIREFOX_BIN=C:\Program Files (x86)\Mozilla Firefox\firefox.exe  
SET IE_BIN=C:\Program Files\Internet Explorer\iexplore.exe  
Run Code Online (Sandbox Code Playgroud)

我也尝试过这个

SET IE_BIN=C:\Program Files (86)\Internet Explorer\iexplore.exe  
Run Code Online (Sandbox Code Playgroud)

我已经安装了karma-ie-launcher.

你能帮助我吗?

javascript internet-explorer unit-testing karma-runner

25
推荐指数
1
解决办法
1万
查看次数

lock变量应该声明为volatile吗?

我有以下Lock声明:

private readonly object ownerLock_ = new object();

lock (ownerLock_)
{
}
Run Code Online (Sandbox Code Playgroud)

我应该为我的锁变量使用volatile关键字吗?

private readonly volatile object ownerLock_ = new object();
Run Code Online (Sandbox Code Playgroud)

在MSDN上我看到它通常用于无锁定访问的字段,所以如果我使用Lock我不需要使用volatile?

来自MSDN:

volatile修饰符通常用于多个线程访问的字段,而不使用lock语句来序列化访问.

.net c# multithreading locking volatile

21
推荐指数
1
解决办法
4522
查看次数