我正在实施通知功能。在服务中,我会请求一个返回通知数组的URL。
在控制器中,我必须设置一个变量,用于存储每种通知类型的消息字符串。我对角度很新,只是想知道我的语法和逻辑是否正确。
/* Model + Controller */
// Assume wrapped in controller function
$scope.notifications = notifications=[
{id:1, type: 6},
{id:2, type: 3},
{id:3, type:4}];
$scope.display_message = function(){
if ($scope.notifications.type == 1){
$scope.notification_message = "some text";
} else if ($scope.notifications.type == 2){
$scope.notification_message = "some text";
}
//... for brevity
return $scope.notification_message
}
/* View */
<li ng-repeat={{notification in notifications}}>
{{display_message()}}
</li>
答案 0 :(得分:1)
逻辑有点令人困惑,但我认为你想为每一个显示消息,所以你需要每次都传递通知。
reboot
// Assume wrapped in controller function
$scope.notifications = notifications=[
{id:1, type: 6},
{id:2, type: 3},
{id:3, type:4}];
$scope.display_message = function(notification){
if (notification.type === 1){
$scope.notification_message = "some text";
} else if (notification.type === 2){
$scope.notification_message = "some text";
}
//... for brevity
return $scope.notification_message
}
/* View */
您也不需要<li ng-repeat="notification in notifications">
{{display_message(notifcation)}}
</li>
中的{{}}
,也总是使用ng-repeat
而不是===
答案 1 :(得分:1)
这里$ scope.notifications是一个数组,那你怎么检查$ scope.notifications.type == 1?
你可以试试这个:
$scope.display_message = function(notification){
var message ;
if (notification.type == 1){
message = "some text";
} else if (notification.type == 2){
message = "some text";
}
return message;
}
然后
<li ng-repeat="notification in notifications">
{{display_message(notifcation)}}
</li>